以下のスクリプトがあります。
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 の提案に従って上記のコードを修正しました。
よろしくお願いします。詳細が必要な場合は、お知らせください。