- ベストアンサー
ファイル名変更
コマンドプロンプトから、ファイル名を変更したいものです。 Windows8を使用しています。 textc2.c textc3.c textc4.c textc5.c textc6.c textc7.c textc8.c を textc1-2.c textc1-3.c textc1-4.c textc1-5.c textc1-6.c textc1-7.c textc1-8.c と変更したいです。 Forコマンドなどを使い、一、二回の入力で処理を行いたいです。 お返事お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
for /l %i in (2,1,8) do @ren textc%i.c textc1-%i.c
その他の回答 (2)
- yaihakiseru(@yaihakiseru)
- ベストアンサー率50% (1/2)
とりあえず現在の入力値は、フォルダパスだけにしてあります。 コメントにしてありますので、好みでremをとって、入力できるようにしてみてください。 ――――――――――――ここから――――――――――― @echo off setlocal enabledelayedexpansion set cond=textc set inWord=1- set ext=c echo フォルダパス set /p di=">" rem echo 共通ファイル名 rem set /p cond=">" rem echo 入れたい文字 rem set /p inWord=">" rem echo 拡張子 rem set /p arg=">" call :wordCount %cond% echo 文字数:%COUNT% pause pushd "%di%" for /f "usebackq delims=" %%f in (`dir /b /a-d /on %cond%*.%ext%`) do ( set fileName=%%~nf set newFileName=%cond%%inWord%!fileName:~%COUNT%!.%ext% set fileName=%%~nxf echo "!fileName!" echo "!newFileName!" ren "!fileName!" "!newFileName!" echo ------------------------ ) echo 完了しました。 pause exit :wordCount set word=%1 for /f "delims=" %%i in ("%word%") do ( echo "%%i" call :SUB "%%~i" ) exit /b :SUB set LINE=%~1 :SUBLOOP if "%LINE%"=="" exit /b set /A COUNT=%COUNT%+1 set LINE=%LINE:~0,-1% goto SUBLOOP ――――――――――――ここまで――――――――――― 以上です。不備や追加点があれば補足よろしくお願いします
お礼
ありがとうございます。
- Ring53jp
- ベストアンサー率38% (339/871)
フリーソフトじゃ駄目ですか? http://hp.vector.co.jp/authors/VA014830/FlexRena/ フォルダと「先頭に○文字目に文字列●●を追加」と設定してボタン一発です
お礼
使用しました。ありがとうございます。
お礼
ファイル名変更できました。ありがとうございます。