人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

バッチファイルでfor文でrenの処理が何度も行われてしまいます

@echo off
set b=0
for /r "C:\" %%f in (*.png) do (
set name=%%~nf%
call :next
)
goto end

:next
ren "%name%.png" "picture%b%.png"
set /a b=b+1
goto :eof

:end
echo 画像ファイルは%b%枚でした

というファイルの中の画像ファイルをカウントし、カウントした数をつけてリネームするというバッチファイルを作ろうとしています
ですが、リネームしたあとのpicture数字.pngファイルをまた処理してしまって
ファイルの数が多くカウントされてしまいます
また、2度目実行した時などに同名のファイルが存在するというエラーが出るのですが
同名のファイルが有る時も無理やりリネームするということができるでしょうか?

●質問者: NaMgAlSiPSClArKCa
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ

>同名のファイルが有る時も無理やりリネームするということができるでしょうか?

どういうふうに リネームするんですか?

無理すると 上書きとなり 前のファイルは なくなりますよ。

それでいいのならば まず その名前で削除してから その名前にリネームすればいいでしょう。


あとは 別フォルダにするかですよね。

Windowsでは 同名のファイルがある場合(1)とかつけて 別ファイル名にしていますが。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ