У меня есть скрипт, который переименовывает файлы, взятые из CSV, но выдает ошибку, когда пытается переименовать файлы после того, как уже выполнил успешную процедуру.
CSV-файл похож на:
old new
AC100 DC100
AC101 DC102
Код пробовал:
$sourceDir = read-host "Please enter source Dir:"
$csvL = $sourceDir + "\files.csv"
$csv = import-csv $csvL
$files = get-childitem $sourceDir
$csv | % {
ForEach( $file in $files){
if($file = $_.old){
$old = $sourceDir + "\" + $_.old
Rename-Item $old $_.new
}
}
}
Я полагаю, что это как-то связано с зацикливанием и CSV, но я не уверен, где я иду не так, у меня была похожая проблема раньше.
Вот пример ошибки.
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Rename-Item : Cannot rename because item at 'C:\scripts\2039X.67438.TXT' does not exist.
At C:\scripts\renamerTim.ps1:18 char:15
+ Rename-Item <<<< $old $_.new
Заранее спасибо, Крейг