• ベストアンサー

ファイル名の先頭2文字を削除するバッチファイル

御世話になっております。 とても初歩的で丸投げ的な質問になってしまうのですが、 失礼とは思いますが早急に必要なので質問させて頂きます。 特定のファイル内にあるファイルのファイル名先頭2文字を消すバッチファイルがほしいです。 例) 20120212.jpg > 120212.jpg 分かる方がいましたら、宜しくお願い致します。

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

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

「特定のファイル」というのが意味不明ですが、拡張子がjpgという事だとすると、 cd "対象のフォルダ" for %%F in (*.jpg) do call :sub "%%F" goto :EOF :sub set A=%~1 set B=%A:~2% ren "%A%" "%B%" goto :EOF

rutohamuni
質問者

お礼

できました。有難うございます!!

関連するQ&A

  • EXCELで先頭からの数文字を消したい

    お世話になります。 EXCELで不特定の文字列のリストで、全ての行の先頭から数文字(任意に選択したい)を消したいのですが、何か良い方法はあるでしょうか? 例)先頭から3文字を消す   1234567 → 4567   8901234 → 1234   ABC 123 →  123 以上、宜しくお願い致します。

  • バッチファイルで画像ファイル名の頭文字を削除したい

    一括で、画像のファイル名の頭4文字を削除したいと思っています。 拡張子はJPGで、バッチで作成しています。 ほぼ、うまく動いているのですが、 1つ目の画像ファイルだけが、8文字削除されてしまいます。 どこが間違えているのかが分からなくて、 ご教授いただけますでしょうか。 よろしくお願いいたします。 @echo off setlocal enabledelayedexpansion for %%F in (*.jpg *.png *.gif *.bmp) do ( set "filename=%%~nF" set "extension=%%~xF" rem ファイル名が4文字以上の場合にのみ先頭4文字を削除 if "!filename:~4!" neq "" ( set "tempname=!filename:~4!!extension!" rem ファイル名が元の名前と異なる場合のみリネーム if not "!tempname!"=="%%F" ( ren "%%F" "!tempname!" ) ) else ( echo ファイル名が短すぎて変更できません: "%%F" ) ) endlocal

  • 数千件のファイル名を文字を小文字化して文字を追加

    どなたか、助けてください。 OSは、ウインドウズ7です。 特定のフォルダに入っている 数千件の ファイル名を (1) 小文字かして (2) 文字を追加したいのです。 いろいろ、調べたんですが、コマンドというものを使って 名前を変えるという下記のものは見つけたのですが >あるフォルダ内の.jpgファイルのファイル名の先頭に「2007_09_」という文字列を付加する例 >ファイル名を変更したいフォルダで、 >「for %i in (*.jpg) do ren %i 2007_09_%i というの応用して、 そのなかのファイル名を大文字半角から小文字半角に変えて さらに文字列を追加したいのです。 (3) また、そのファイル名のリストを作りたい のですが、未熟な私には、上手く 出来ず、困っています。 どなたか、詳しいお詳しい方、 (1) (2) (3) のコマンドの書き方をお教え助けてください。 お願いします。

  • バッチファイルでファイル名に文字列を挿入したい。

    フォルダにあるファイル全てに対して、ファイル名の先頭に文字列を挿入するバッチファイルを作っています。 対象のファイルは、主にエクセル、ワード、パワーポイント、PDFですが、ファイルの種類に関係なく、全てのファイルに対して、ファイル名の先頭に文字列を挿入したいです。 @echo off for %%i in (*) do ren "%%i" "【文字列】%%i" pause として文字列の挿入自体はできました。 しかし、このファイルを2回実行すると、ファイル名の先頭に【文字列】【文字列】と重複して挿入されてしまうので、すでに挿入済みのファイルに対しては実行しないようにしたいのですが、うまくいきません。 また、サブフォルダ内にあるファイルに対しても同様の処理を適用したいです。 どのように記述すればよいでしょうか。 リネームソフトを使えればよいのですが、フリーソフト等はインストールできない環境ですので、できればバッチファイルを記述して対応したいのです。 OSはウインドウズ7です。

  • バッチえファイルを編集するには??

    こんばんは。 初めて掲載します。 バッチファイルで、複数のあるファイルの中身の特定の文字列を一括編集したと思っているのですが、どのようにコマンドを組めばいいのでしょうか? コマンド、バッチは初めてなのでどのように組めばいいのか是非ともご教授願います。 例として、バッチを実行すると、 C:\temp\の下にtest1.xmlとtest2.xmlがあります。 バッチファイルを実行すると、その2つのファイルの中身のある特定の文字を編集("AAA"という文字列を"BBB"に)して保存する。 というような処理を行いたいです。

  • バッチファイルについて教えてください

    こんばんは ネットサーフィンをしていてバッチファイルが便利なのもだと知りました。 そこで質問なのですが、特定の起動しているプログラムを終了させるには、どういった風に記述すればいいのでしょうか? また、エクセルやワードなどでは終了させる際に「保存しますか」のメッセージが流れますが、すべて「いいえ」で終了させるようなバッチファイルを作るにはどうしたらよいのでしょうか? ワードを例として教えていただけると、うれしいです。 作業フォルダ「H:\Program Files\Microsoft Office\OFFICE11」 プログラム名「WINWORD.EXE」 ここを読んだんですが、理解不能でした。 http://oshiete1.goo.ne.jp/qa2662369.html あと、バッチファイルに関して初歩的なものからいろいろな応用例が載っているサイトをご存じでしたら、教えてください。 以上、よろしくお願いします。

  • ファイル名の先頭文字を入れても開く候補でてこない

    Windows7ではファイルを開くとき、「ファイル名」の欄に 「希望するファイル名の先頭文字」をを入れただけで 「ファイル名」の欄下にその先頭文字とおなじのファイル名の列が出てくるものですが、 なぜか出てこなくなりました。 とってもも不便です。 ご存知の方ご教授ください。

  • バッチで特定文字が含まれる先頭行を取得したい

    バッチコマンドでファイルから特定の文字を検索し、その文字が見つかった最初の行が何行目なのかを取得したいのですが、可能でしょうか?

  • バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換

    バッチファイルでテキストファイル内の特定の文字列をコンピュータ名に置換したい バッチファイルの記述方法について教えて下さい。 テキストファイル内に特定の文字列が存在していた場合、その文字列をバッチファイルを実行するPCのコンピュータ名で置換するにはどのように記述したら良いでしょうか。 なおPCはWindowsXPを使用しています。

  • 先頭にワイルドカードを用いたファイル指定方法

    いつもお世話になっております。 本題ですが、以下のようなバッチ(例です)を組み、コピーしたいのですが、その際、ファイルの先頭の「●●月」が毎月変わるので、先頭にワイルドカードを用いて指定したいのですが、色々調べても、先頭にワイルドカードを用いた例がありませんので、助力をお願いしたく存じます。 コピーしたいファイル=「10月マスター.txt」 copy c:\*マスター.txt d:\マスター.txt     ^ これを実行しても、ファイルがありません、とのメッセージが出てコピーしてくれません。 特にワイルドカードに固執しているわけではありませんので、解決方法がございましたらご教授いただきたく存じます。 ただ、プログラミングよりも、バッチが好きなタチです^^; よろしくお願いします。

専門家に質問してみよう