指定したフォルダ配下に特定のファイルがある場合、指定したフォルダの
リネームを行うバッチファイルを作成しております。
下記記述でリネーム自体は可能になったのですが、
このバッチは定期的に複数回実行するためすでにリネームされている
フォルダについてもまたリネームされてしまいます。
すでにリネーム済みのフォルダはスキップするという動作にしたいのですが、
良い方法がございましたらお知恵をお貸しください。
DOS
1cd C:\Users\Desktop\IN1 2 3dir /s /b > C:\Users\Desktop\file.tmp 4 5for /f "delims=" %%F in (C:\Users\kcc\Desktop\file.tmp) do ( 6 7rem ①パス名の分解(ディレクトリ名の取り出し) 8for /f "delims=\ tokens=5" %%D in ("%%F") do ( 9 10rem ②リネーム 11IF EXIST "C:\Users\Desktop\IN1\%%D\abc.txt" rename %%D %%D_除外 12 ))
説明>
C:\Users\Desktop\IN1
|
|
|--------フォルダA
| |
| |------abc.txt
|
|--------フォルダB
↓
↓
↓
C:\Users\Desktop\IN1
|
|
|--------フォルダA_除外
| |
| |------abc.txt
|
|--------フォルダB
フォルダA、B、・・とあり、各フォルダ直下にabc.txtがある場合のみ
フォルダ名の後部に"_除外"を付与する
・想定
すでにリネームされたものはスキップしたい
abc.txtが無く、リネーム済みのものは"_除外"部分を消したい
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/08 15:35
2018/02/09 00:45