こんにちは/こんばんは、
誰かが助けてくれるかもしれないし、もしかしたらこれが他の誰かの役に立つかもしれない。以下の例を見ると:
01022015- ブラブラブラ 04022018 - ブラブラブラ 02012016 - ブラブラブラ
私がやりたいのは、ファイル名の 3 番目と 4 番目の文字にローカライズされている 02 を検索することです。2 番目の文字の後に「02」を検索するようなものです。
そうすれば、すべての 2 月のファイルを個別に整理し、それらを適切に一括して名前変更できるようになります。
これは実行可能でしょうか? 以下は、さらなる開発の基礎として役立つ可能性がある検索クエリの例です。
もうありがとう〜」(4)「
答え1
ファイル名の 3 番目と 4 番目の文字に 02 がローカライズされている場合は、その 02 を検索します。
?
「1 文字を強く」を意味するパターン シンボルを使用します。
DIR ??02*.*
答え2
答え3
これを再帰的に試してください:
for /f tokens^=* %F in ('where /r . "??02*.*"')do rename "%~F" "Some_New_Name%~xF"
- 出力:
rename "G:\SUPER_USER\Q59446122\310220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\110220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\100220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\170220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\030220218.txt" "Some_New_Name.txt"
現在のフォルダーに対してこれを試してください:
for /f tokens^=* %F in ('where "??02*.*"')do rename "%~F"
- 出力:
rename G:\SUPER_USER\Q59446122\310220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\110220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\100220218.txt Some_New_Name.txt