• ベストアンサー

ファイル名変更

コマンドプロンプトから、ファイル名を変更したいものです。 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コマンドなどを使い、一、二回の入力で処理を行いたいです。 お返事お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

for /l %i in (2,1,8) do @ren textc%i.c textc1-%i.c

situmonn9876
質問者

お礼

ファイル名変更できました。ありがとうございます。

その他の回答 (2)

回答No.3

とりあえず現在の入力値は、フォルダパスだけにしてあります。 コメントにしてありますので、好みで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 ――――――――――――ここまで――――――――――― 以上です。不備や追加点があれば補足よろしくお願いします

situmonn9876
質問者

お礼

ありがとうございます。

  • Ring53jp
  • ベストアンサー率38% (339/871)
回答No.1

フリーソフトじゃ駄目ですか? http://hp.vector.co.jp/authors/VA014830/FlexRena/ フォルダと「先頭に○文字目に文字列●●を追加」と設定してボタン一発です

situmonn9876
質問者

お礼

使用しました。ありがとうございます。

関連するQ&A

専門家に質問してみよう