
Я пытаюсь написать скрипт PowerShell, который выполняет следующие действия.
шаг 1
Переименуйте файлы в исходных каталогах (папки FTP) с помощью «current_name_datetime.csv» в соответствии с исходным файлом «Source_list.csv». Этот файл содержит каталоги «source,destination». Я хочу, чтобы этот скрипт их просматривал.
шаг 2
Скопируйте недавно переименованные файлы в резервные каталоги, указанные в Source_list.csv. В этом файле есть каталоги «source,destination», которые я хочу, чтобы этот скрипт просматривал.
шаг 3
Переместить недавно переименованные файлы в конечный каталог назначения, которого нет в моем текущем скрипте.
---------------------Мой сценарий ----------------------
$sdfiles = Get-Content c:\!tony\Source_list.csv
$sourceDir = "c:\test\"
$destinationDir = "c:\testing\"
Get-ChildItem $sourceDir -Recurse -Include $sdfiles "*.csv"|
ForEach-Object{
$newname= "{0}{1}_{2}.csv" -f $destinationDir, $_.BaseName,[datetime]::Now.ToString('MM-dd-yyyy-hh-mm-ss')
$_|Copy-Item -Include ,$sfiles -Destination $newname -whatif }
-----------------------Ошибка--------------------------
What if: Performing operation "Copy Directory" on Target "Item: C:\test\cscenter Destination: C:\testing\cscenter_10-01-2015-12-22-24.csv".
В ошибке я вижу, что он пытается скопировать каталог, а не отдельный файл в каждом каталоге, а также создает новую папку, используя исходное имя папки, переименовывает ее и добавляет метку даты/времени.
Любая помощь будет высоко оценена.