我有以下脚本:
function copyUserSettings {
Write-Host
$copyFrom = Read-Host 'Which Folders Do You Want To Copy FROM?'
Write-Host
$copyTo = Read-Host 'Which Folders Do You Want To Copy TO? (Enter a Number OR Range eg. 12-18)'
Write-Host
IF ($copyTo.Contains("-")) {
$copyToStart = $copyTo.Split("-")[0]
$copyToEnd = $copyTo.Split("-")[1]
$copyToStart..$copyToEnd | foreach{
Copy-Item -Path $rootPath\FOLDER\$copyFrom\US*.DAT -Destination $rootPath\FOLDER\$_
}
} else {
Copy-Item -Path $rootPath\FOLDER\$copyFrom\US*.DAT -Destination $rootPath\FOLDER\$copyTo
}
}
用户应该通过输入单个文件夹名称或范围(即 12- 18). 如果我输入一个数字,上面的脚本可以正常工作,但是如果我输入一个范围,文件不会复制,我也不会收到任何反馈错误或任何东西。
Edit1:$rootPath
在脚本前面定义。Edit2:根据@tnw 的建议修改了上面的代码。
在此先感谢您的帮助。如果您需要更多详细信息,请告诉我。