Es umbenennen, nach dem kopieren mit powershell
Versuche ich rekursiv kopieren Sie die Dateien, und benennen Sie Sie.
Meine Ordner-Datei mit dem gleichen Namen ,also muss ich es umbenennen, im moment ist es kopiert.
Aber ich bin immer wieder vor Problem. Folgendes ist mein code. Es sollte das CopyForBuild.bat-Datei und kopieren Sie es auf E:\CopyForBuild Ordner. Sobald es kopiert ist , wird die erste Datei sein soll Copyforbuild1.txt die zweite wird CopyforBuild2.txt und so weiter.
Folgendes ist mein code. Wo bin ich aufgetreten?
$File = Get-ChildItem -Path V:\MyFolder -Filter CopyForbuild.bat -Recurse
$i=1
Foreach ($f in $File)
{
Copy-Item $f "E:\copyforbuild\"
Rename-Item -path "E:\Copyforbuild\"+"$f" -newname "CopyForbuild"+"$i"+".txt"
$i = $i+1
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie benennen Sie die Datei beim kopieren im Copy-Item, nur vollständige Pfad in beiden Orten:
Dies wird benennen Sie 1.config 2 ist.config. Keine Notwendigkeit zu nennen, trennen, umbenennen-Funktion.
Ihr code sollte jetzt wie folgt Aussehen:
Können Sie machen es noch kürzer, wenn die Verwendung For-Schleife:
Oder so kürzer und breiter, wenn Folgen Richards Kommentar
Get-ChildItem -Path V:\MyFolder -filt CoptForBuild.bat -rec | Copy-Item -dest {"E:\copyforbuild\" + $_.BaseName + ($i++) +".txt" }
. (Cmdlets mit Parametern, die nicht nehmen, das type-Objekt, wieCopy-Item
's Ziel, eine integrierte for-each durch geschweifte Klammern verwenden, so gibt es keine Notwendigkeit für eine Schleife des Ziels zu bestimmen.)*.*
damit kann ich markieren Sie es als Antwort