ファイルの移動を半自動化したかったんです(´・ω・`)
入力の値によって異なるフォルダへファイルを振り分けます。
ファイル振分.ps1
# 宛先フォルダ
$dstRoot = "C:\hoge\"
# 振分先
$dstPath1 = ""
$dstPath2 = ""
Write-Output " --------------------------------------------------"
Write-Output " 振分タイプ"
Write-Output " 1: あっち"
Write-Output " 2: こっち"
Write-Output " 3: そっち"
Write-Output " 4: どっち"
Write-Output " --------------------------------------------------"
$input = Read-Host "振分タイプを入力してください: "
# タイプに応じて振分先を変える
If ($input -eq 1) {
# 1: あっち
$dstPath1 = $dstRoot + "あっち\one"
$dstPath2 = $dstRoot + "あっち\two"
} ElseIf ($input -eq 2) {
# 2: こっち
$dstPath1 = $dstRoot + "こっち\one"
$dstPath2 = $dstRoot + "こっち\two"
} ElseIf ($input -eq 3) {
# 3: そっち
$dstPath1 = $dstRoot + "そっち\one"
$dstPath2 = $dstRoot + "そっち\two"
} ElseIf ($input -eq 4) {
# 4: どっち
$dstPath1 = $dstRoot + "どっち\one"
$dstPath2 = $dstRoot + "どっち\two"
} Else {
# 1,2,3,4以外なら何もしない
exit
}
# ファイルを移動
Get-ChildItem -Recurse -File -Include *.txt | ForEach-Object { Move-Item $_ $dstPath1 -force }
Get-ChildItem -Recurse -File -Include *.csv | ForEach-Object { Move-Item $_ $dstPath2 -force }
上記だけだと動かなかったので、別途.batを作成して実行ポリシーを渡す。
参考にさせて頂いたのは↓
PowerShell のスクリプトが実行できない場合の対処方法 #Windows - Qiita
ファイル振分.bat
PowerShell -ExecutionPolicy RemoteSigned .\ファイル振分.ps1
ファイル振分.batを実行すればプロンプトが上がり、
入力値に応じた振分先にファイルを移動してくれるようになりました。
めでたしめでたし。