• ベストアンサー

batでファイル名を変更したい(元ファイル名の一部を削除したファイル名に)

batファイルを使ってファイル名を変更する方法を教えてください。 例えば、 変更元ファイル:tata1234.exe 変更先ファイル:tata.exe(元ファイル名の一部を削除した名前) 流れでは、あるファイルをbatにドラッグ&ドロップして COPY %1 %TMP%\%~nx1 REN %TMP%\%~nx1 ??????? 変更したファイルを元ファイルのあったフォルダに移動(orコピー) 別ファイルに出力したりしないと無理でしょうか?宜しくお願いいたします。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4844/10253)
回答No.1

元ファイル名の先頭4文字まで残して5文字目以降を消すということでいいでしょうか。 set NAME=%~n1 REN %TEMP%\~nx1 %NAME:~0,4%.%~x1 >変更したファイルを元ファイルのあったフォルダに移動(orコピー) これはどういう意味?変更とは?

indigo45kk
質問者

お礼

REN %TEMP%\~nx1 %NAME:~0,-4%%~x1  で求める形に名称変更できました。ありがとうございました。

indigo45kk
質問者

補足

ありがとうございます。 分かりにくい質問ですみません。 消したいのは、拡張子を含めず後ろから4文字です。 例えば、ABCD1130.exe → ABCD.exe     XYZ1130.dll → XYZ.dll 宜しくお願いいたします。 「変更したファイルを元ファイルのあったフォルダに移動(orコピー)」は今回の質問に関係ありません。すみません。。。

関連するQ&A

  • バッチファイル(batファイル)

    あることを自動化するために、あるサイトのバッチファイルをコピー&ペーストして使おうと思っています。 (自由に使用していいと表記してあります) しかし、使用されているプログラムがいくつか入手できなかったり、バッチファイルをいくつか繋げたらら上手くいかなかったりと、 色々と問題があり、自分で改変をしています。 初めてバッチファイルの中身を触ったような初心者なので、色々と試行錯誤しているのですが、行き詰ってしまいました。 上記のように初心者なので、言葉がおかしい所があったりするかもしれませんが、 回答よろしくお願いします。 本題です。 ファイルのドロップで処理を始めたいのですが、どうやらファイル名に半角の#が含まれていると途中でエラーが出るので、 処理の一番最初でファイル名の半角#を全角#に置き換えようとしたのですが上手くいきませんでした。(ファイル名の変更) なので新たなバッチファイル、"ドロップ用.bat"を作り、そこでファイルの置き換えを行ってから、callコマンドで 本命のバッチファイルaaa.batを呼び出そうとしました。 それでもうまくいかないため、質問させていただきました。 バッチファイルは一つのフォルダーにまとめていますが、ドロップするファイルは別のフォルダーにあります。 なお、ドロップするファイルのフルパスには、空白が含まれる可能性があります。 ドロップ用.bat--------------------------- @echo off setlocal set abc=%~n1 set def=%abc:#=#% ren "%~nx1" %def%%~x1 set ghi="%~dp1%def%%~x1" set jkl=%~dp0 call "%jkl%aaa.bat" "%ghi%" rem pause endlocal exit /b ----------------------------------------- ややこしくてまわりくどいバッチファイルですみません。 Windows7を使っています。 C:\windows\system32\cmd.exeと上には書いてあります。 よろしくお願いします。

  • batでファイルをコピーして名前を変更

    Aフォルダに 修正指示26-23.xls というファイルがあります。 このファイルをドラック&ドロップでbatファイルに投げ込み Aフォルダ内にコピーし、そのコピーした方のファイル名を abc〇〇〇.xlsというファイル名に変更したいです。 〇〇〇の部分はINPUTBOXのようなものが表示されて 自分で入力をできるようにしたいです。 INPUTBOXのようなものが表示されなくても、〇〇〇の部分だけ自分で入力すれば前部分のabcは固定でつけばokです。 batで無理であればVBSでもいいです。 なにかいい方法があれば教えてください。

  • batファイル 拡張子変更

    こんにちは。 すいません。初心者です質問させていただきます。 ファイルの拡張子を変更するbatファイルを見ようみまねで作ってみたのですが、動きません。 -------batファイルの内容です------- set C:\rename=%basyo set syaryou_R???.0??=%Rmoto set syaryou_S???.0??=%Smoto set syaryou_R???.0??.csv=%Rato set syaryou_S???.0??.csv=%Sato cd %basyo ren %Rmoto %Rato ren %Smoto %Sato ---------------------------- こんな感じなのですが、何が悪いか分かりません。 よろしくお願いします。

  • batファイルでのフォルダ名の入力??

    フォルダ内の特定のファイルがあれば 作業するexeがあり、そのreadmeにはこの様に 記してあります。 ↓ Usage : 11111.exe ファイル名 Usage : 11111.exe フォルダ名 ファイル名 拡張子abcファイル内の番組情報を元にbbcファイルを生成する フォルダ名 フォルダ直下にあるabcファイルすべてのbbcファイルを生成する。 ここまで↑ 同一階層にbatを作成しexeも置いておき、ファイル名を入力したら成功しました。 @echo off 11111.exe 22222.abc 結果。22222.bbc作成成功。 しかし、フォルダ名を入れても全く出来ません。 @echo off 11111.exe rrrrr g:\rrrrrは存在しません、となって終了してしまいます。 同一階層にbatやexeを置いて実行しても ひとつ上の階層に置いて実行したりしても同じでした。 もちろんrrrrrフォルダは存在しています。 11111.exe g:\rrrrr としても同じでした。 サンプルのbatでは @echo off 11111.exe $Filepath$ となっていました。 フォルダ名の入力がポイントだと思うのですが いろいろやっても全く出来ませんでした。 ご教授願います。

  • BAT処理でファイル名の変更

    BAT処理で複数ファイルの名前変更を自動化させたいのですが、うまくいかず困っております。 [変更前ファイル名]  0000001234_20140731.txt ・・・ 桁数固定のID+アンダーバー+年月日.txt [変更後ファイル名]  ID1234DATE20140731_0000001234_20140731.txt   ・・・ "ID" + IDのゼロサプレス + "DATE" + 年月日+ アンダーバー +元ファイル名 これらの処理を同じディレクトリ内のファイル全てに行うにはどのようにすればよろしいでしょうか? ご指導頂けますよう宜しくお願い致します。

  • HTMLからのBATファイル実行

    HTMLと画像(ABC.GIF)、プログラム(123.EXE)、BATファイルをCDに記録して配布したいと考えています。 autorun.infでHTMLファイル(index.html)を実行します。 このHTMLファイルには、同じ場所にあるBATファイルへリンクが貼られています。 ◎BATファイルの内容(Windows Vista用) COPY ABC.GIF C:\TEST COPY 123.EXE "%USERPROFILE%\Desktop\" ◎BATファイルの内容(Windows XP用) COPY ABC.GIF C:\TEST COPY 123.EXE "%USERPROFILE%\デスクトップ\" ブラウザで表示して実際にBATファイルを実行したところ「ファイルが見つからない」というエラーが表示されCOPYコマンドは実行されませんでした。 確かに指定したパスにファイルは存在します。 その証拠に、リンクからではなく、直接BATファイルを実行すると希望した結果が得られました。 何か考えられることはございますでしょうか。 解決方法をお教えいただければ幸いです。 宜しくお願いします。

  • bat ファイル名変換

    windowsのコマンドプロンプトで使える。 (.bat) ファイル名を一括変更するプログラムなのですがMacで実行する事は出来ないでしょうか。 内容は cd image cd JPG ren "aaaaaaa.jpg" bbbbbbb.jpg ren "oooooooo.jpg" ssssss.jpg cd .. cd .. こんな感じです。 ターミナルからは普通に開くだけでは使えません。 何かいい方法はありませんでしょうか。

    • 締切済み
    • Mac
  • batファイルの実行について

    batファイルを作成しました。 (ATコマンドにてスケジュールさせたいと考えてます。) ファイル自体をダブルクリックで実行すると正常に処理が完了しますが、コマンドプロンプトから実行しようとすると以下のエラーが発生します。 〓〓〓〓〓〓〓〓〓〓〓〓 C:\>cmd /c "E:\MirroringTool\SimpleFolderMirror\test.bat" 指定した名前は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されません。 〓〓〓〓〓〓〓〓〓〓〓〓 実行させたいbatファイルは以下のとおりです。 〓〓〓〓〓〓〓〓〓〓〓〓 echo off cls rem ↓SimpleFolderMirror.exeを解凍したフォルダ SET EXEFOLDER_PATH="E:\MirroringTool\SimpleFolderMirror\" rem ↓ログの出力フォルダ・ファイル SET LOG_DIR="E:\MirroringTool\SimpleFolderMirror\logs\" rem ↓ミラー元フォルダ1 SET COPY_FROM_PATH_01="S:\" rem ↓ミラー先フォルダ1 SET COPY_TO_PATH_01="E:\ORANT\OWS" cd %EXEFOLDER_PATH% SimpleFolderMirror.exe %COPY_FROM_PATH_01% %COPY_TO_PATH_01% > %LOG_DIR%logs.txt 〓〓〓〓〓〓〓〓〓〓〓〓 cd %EXEFOLDER_PATH%のところまでは処理は完了しているようなので、最後の行のところで発生しているようです。 何が原因でエラーが発生してしまっているのでしょうか? 宜しくお願い致します

  • 音楽ファイルのアーティスト名の変更がしたいのですが

    SONYのウォークマンに音楽をドラック&ドロップでいれたいのですが、どうも几帳面な性格でして、アーティスト名がきちんとしていないといやなのです。 同じアーティストなのに元ファイルのアーティスト情報が違うため 「Abcd」 「abcd」 と、ウォークマン本体に表示されてしまいます。 元ファイルのアーティスト名を編集したいのですが、曲名しか編集することしかできません。 やり方を教えてください。 ついでにアルバム名の変更方法なんかも教えていただければうれしいです。

  • コマンドプロンプトで出力したファイルの名前の一部を削除する方法

    コマンドプロンプト初心者です;; batファイルにドラッグドロップして%~1というのでパスを取得させexeを実行させるコマンドで最終的に『aaa.avi.mp4』というファイル名になるのですが、この『aaa.avi.mp4』から真ん中の『.avi』のみ削除して『aaa.mp4』のみにするコマンドを最後に記述したいのですが方法がどうしても分からなくて質問しました。キーボードを打たないで解決できないでしょうか?