
ある複数フォルダに格納されているファイルを、フォルダ名に
リネームするバッチファイルを作成したいです。
●リネーム前
C:\リネーム\あいうえお\data.txt
C:\リネーム\かきくけこ\data.txt
C:\リネーム\さしすせそ\data1.txt
C:\リネーム\さしすせそ\data2.txt
C:\リネーム\たちつてと\data1.log
C:\リネーム\たちつてと\data2.log
C:\リネーム\なにぬねの\data.log
↓
●リネーム後
C:\リネーム\あいうえお\あいうえお.txt
C:\リネーム\かきくけこ\かきくけこ.txt
C:\リネーム\さしすせそ\さしすせそ 1.txt
C:\リネーム\さしすせそ\さしすせそ 2.txt
C:\リネーム\たちつてと\たちつてと 1.log
C:\リネーム\たちつてと\たちつてと 2.log
C:\リネーム\なにぬねの\なにぬねの.log
知識がなく申し訳ありませんが、お助け願います。。
pause
cd c:\リネーム
dir /s /b C:\リネーム\ > file.tmp
for /f "delims=" %%F in (file.tmp) do (
for /f "delims=\ tokens=3" %%D in ("%%F") do (
REN %%F C:\リネーム\%%D\%%D%%~xF
))
del file.tmp
pause
どうもうまくいきません。。。
No.2ベストアンサー
- 回答日時:
ざっと書いてみました
例外処理やエラー処理など一切省いていますので
想定外のファイル名などついている場合は、動かないかも
「rename.vbs」という名前で存して、マウスでダブルクリックしてみてください
'ここから
myFolder="C:\リネーム\"
set fs=CreateObject("Scripting.FileSystemObject")
set objFolder=fs.GetFolder(myFolder)
Set objRE = CreateObject("VBScript.RegExp")
For Each sf in objFolder.SubFolders
set objSubFolder=fs.GetFolder(sf)
For Each f in objSubFolder.Files
fname=fs.GetFileName(f)
bname=fs.GetBaseName(f)
ext=fs.GetExtensionName(f)
pname=fs.GetFileName(fs.GetParentFolderName(f))
objRE.pattern=".*?([\d]*?$)"
newname=objRE.replace(bname,pname&"$1") &"."&ext
msgbox myFolder&fname&" -> "& myFolder&newname
f.Name=newname
Next
Next
'ここまで
No.1
- 回答日時:
ファイル名をディレクトリ名にあわせるならディレクトリ分けする意味がないような・・・
いわゆるbatではなくwsh(vbs)であればもっとやりやすいと思います。
なお、
hoge1.txt
fuga1.txt
など存在すると競合しますが、絶対にでてこない保証があるという前提でいいのでしょうか?
回答ありがとうございます。
そうなんです、ディレクトリ分けする意味ないんです。。
wshですね、勉強してみます><
競合するとは、複数のディレクトリ内に同じファイル名が存在するとという意味でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba 正規表現について教えてく...
-
pythonでのローカルファイルか...
-
画像生成AIのプロンプトの作り...
-
CSVファイルの複数行削除
-
vba クリップボードクリアにつ...
-
if関数とは?
-
COPYコマンドで、最後に1文字...
-
uwscでPauseキーが押されたら、...
-
自作scratch アニメの商用利用
-
プログラム言語
-
Geminiフォーム 画像生成で 人...
-
pip --versionがエラーになる
-
プログラミングに興味があるの...
-
IT業で開発をされてる方々に質...
-
Pythonのエラーメッセージをコ...
-
Python... 環境設定 初心者です...
-
著作権法について
-
今のプログラミング言語
-
プログラミングについて
-
数学、プログラミング、物理、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
Access VBA エラー2448について
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
パイソンでのファイルを見るには
-
Excel VBAでループ?続けて処理...
-
VBAで繰り返し持ってきた文章の...
-
verilog HDLについての質問です...
-
フォームのResizeイベントについて
-
teratermで、ファイル名をinput...
-
型の値をDataGridViewセルに変換...
-
MS-DOSバッチファイルコマンド...
-
SQLでテキストボックスの文字を...
-
超初心者です。シングルクォー...
-
パイソンでテキストファイルが...
-
バッチファイル フォルダ名をフ...
-
分数の計算のプログラミングです。
-
テキストboxに数値を入れる...
-
Dreamweaverでtitleタグ内の一...
-
ruby テキストファイル書き出し...
おすすめ情報