9
我想遞歸複製文件並重命名它們。使用powershell複製後重命名它
我的文件夾具有相同名稱的文件,所以我需要在複製它時將其重命名。
但我仍然面臨問題。以下是我的代碼。它應該找到CopyForBuild.bat文件並將其複製到E:\ CopyForBuild文件夾中。一旦它被複制,第一個文件應該是Copyforbuild1.txt,第二個文件應該是CopyforBuild2.txt等等。
以下是我的代碼。我失敗的地方在哪裏?
$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
}
爲什麼不處理一次一件(並記住變量獲取默認值):'Get-ChildItem -Path V:\ MyFolder -filt CoptForBuild.bat -rec | Copy-Item -dest {「E:\ copyforbuild \」+ $ _。BaseName +($ i ++)+「。txt」}'。 (具有不帶類型對象參數的Cmdlet,如'Copy-Item'的目標,通過使用大括號具有內置的for-each,因此不需要循環來確定目標。) – Richard 2011-12-30 10:49:11
Buddy,它拋出異常。 「Copy-Item:無法將參數綁定到參數'Path',因爲它是空的。」 $ File指定「*。*」時不包含任何項目 – Samselvaprabu 2011-12-30 10:57:20
$ File = Get-ChildItem -Path「V:\ MyFolder \\ *。*」-Filter CopyForbuild.bat -Recurse $ i = 1 Foreach($ f在$文件) { 拷貝項目$ f.FullName( 「E:\ copyforbuild \」 + $ f.BaseName + $ I +) $ I ++ 名爲 「txt」} – Samselvaprabu 2011-12-30 11:00:38