【发布时间】:2015-12-29 21:31:15
【问题描述】:
我正在尝试编写一个 PowerShell 脚本来执行以下操作。
根据源文件“Source_list.csv”将源(FTP 文件夹)目录中的文件重命名为“current_name_datetime.csv”,该文件具有我希望该脚本查看的目录“源、目标”。
根据 Source_list.csv 中的目标将新重命名的文件复制到备份目录,此文件包含我希望此脚本查看的目录“源、目标”。
将新重命名的文件移动到不在我当前脚本中的最终目标目录。
Source_list.csv 内容
cscenter,Costume_Supercenter
fkimports,FKImports
我的脚本:
$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 ,$sdfiles -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".
我在错误中看到它试图复制目录而不是每个目录中的单个文件,并使用原始文件夹名称创建新文件夹并重命名文件夹并附加日期/时间戳。
【问题讨论】:
-
我们可以看看
Source_list.csv中的几行是什么样的吗? -
无论
$sfiles是什么。除非这是一个错字,否则这将是一个问题。 -
Source_list.csv cscenter,Costume_Supercenter fkimports,FKImports
-
$sfiles 应该是 sdfiles
-
请edit 提供这些细节的问题,以便我更好地了解结构
标签: powershell