バッチファイルによるフォルダ名の変更

このQ&Aのポイント
  • バッチファイルを使用してフォルダ名を変更する方法について相談しています。
  • 特定のフォルダに存在する日付を名称としたフォルダの名前をバッチファイルを実行して変更する方法についての質問です。
  • 既に同名のフォルダが存在している場合にもフォルダ名を変更できるかどうかについての課題があります。
回答を見る
  • ベストアンサー

バッチファイルによるフォルダ名の変更

バッチファイルによるフォルダ名の変更 あるフォルダに存在する日付(西暦)を名称としたフォルダ、例えば 2010-0530 を、バッチファイルを実行することで、和暦(元号)、例えば H220530 に名前を変え、その後に特定のアプリケーション(Picasa3)を実行したいのです。 インターネット上の情報を参考に、 @echo off cd /d K:\VIDEOPHOTO\H220401から for /d %%f in ( * ) do call :sub "%%f" start C:\"Program Files\Google\Picasa3\Picasa3.exe" exit /b :sub set dirname=%1 set dirname=%dirname:(=【% set dirname=%dirname:)=】% set dirname=%dirname:2010-=H22% ren %1 %dirname% goto :EOF というバッチファイルを作り、概ね希望どおりの結果となったのですが、既に同名のフォルダが存在していた場合(例ではH220530というフォルダが既に存在)、フォルダ名の変更はされずスルーされてしまいます。 既に同名のフォルダが存在していても、フォルダ名を変更(既存フォルダと統合)することはできますでしょうか?

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

  • ベストアンサー
noname#141929
noname#141929
回答No.1

ren(rename)の場合、上書きはできないみたいです。 mkdirでフォルダを作成して移動がいいんじゃないでしょうか。今のバッチとはまったくプログラムが変わってしまいますが。

関連するQ&A

  • バッチファイルで同じフォルダ名がある場合

    バッチファイルで下記のように実行後にフォルダ名を指定して フォルダを作成したいのですが既に同じフォルダ名があった場合 同じフィルだがある旨のメッセージを表示するのとそこでバッチファイルを 終了してよいか?というようなバッチファイルを作成したいのですが バッチファイルコマンドプロンプトの知識があまりありません。 どなたか教えてください。 echo off set /p USER_INPUT=フォルダ名を入れてください。: mkdir %USER_INPUT%

  • まとめてファイル名を変更したい

    あるフォルダに存在するファイル名に”RAWDATA"を含むテキストファイルを 任意のファイル名でCSVに変更したいのですが、 バッチファイルで set /p filename= rename d:\あるフォルダ\RAWDATA*.txt %filename%*.csv で簡単にできるかなと思ったのですが、 ”RAWDATA”の部分は入力した分しか変更されないようでした。 例えば”abc”と入力すると”abcDATA”となります。 入力したファイル名に置き換わるようにするには どのようにしたら良いのでしょうか? バッチ初心者ですがよろしくお願いします。

  • バッチファイルでフォルダを作りたい

    ”123”というフォルダの中にバッチファイルがあります このバッチファイルを実行すると、フォルダ名を取得して、”123 あ”というフォルダと ”123 い”というフォルダをフォルダ”123”の中に作りたいのですができるのでしょうか? そして、このバッチファイルをコピーして、フォルダ”456”の中に貼り付けます。 ここでバッチファイルを実行すると、フォルダ”456”のなかに、”456 あ”と”456 い”というフォルダを 作れるようにしたいのですが。 お分かりの方、よろしくお願いいたします。

  • フォルダ名を一括で変更する

    ファイル名を一括で変更する方法を教えていただけないでしょうか。 毎週大量にあるお仕事でして、簡易化出来ましたら嬉しいです。 ご指導のほどよろしくお願いいたします。 同じ階層に、複数のフォルダがあります。 例えば… 変更前のフォルダ名:大塚、日暮里、新宿、東京、五反田… 変更後のフォルダ名:全て東京に変更したいです。 同じフォルダ名になりますので、フォルダ名は上書きされる様にしたいです。 各フォルダには複数のファイルが入っていますが、バッチなどの作業を実行中に同名が見つかった場合は、ファイル名は上書きされず、連番が付加される様にしたいです。 ※PC環境:widows10、64bit。

  • フォルダ名変更のバッチファイル作成について

    WindowsVISTA HomePremiumのPCで下記操作(フォルダ名変更)を 自動化できるようバッチファイルを作成したいのですが、可能でしょうか?(昨夜調べていましたが、結局わからず質問させて頂きました) ■やりたい処理  「D:\」にある、複数のフォルダ(YYYY-MM-DD)の名称を一括変更。  例えば、   ・2009-08-31   ・2009-09-01   ・2009-09-02  と3つあった場合、バッチを実行すれば   ・20090831   ・20090901   ・20090902  に一括変更(ハイフンを削除する)されるようなものです。 ご教授宜しくお願いします。

  • DOSのバッチファイルについての質問です。

    DOSのバッチファイルについての質問です。 フォルダ内のファイルネームを一括変更したいと考えています。 変更したい文字がたくさんあり、その都度インプットして処理したいと思い 下記のようなバッチを組んだのですが上手く動きません。 何かいい方法があればご教授下さい。よろしくお願いします。 echo off SET /P word= for %%a in (*%word%*) do call :sub "%%a" exit /b :sub set fname=%~1 set fname=%fname:%woad%=ああ% ren %1 "%fname%" goto :EOF

  • 実行ファイルのサブフォルダのファイル名変更で

    h = FindFirstFile("bitmap\\*.txt", &fd); if(h == INVALID_HANDLE_VALUE){   MessageBox(NULL, "ファイルが見つかりませ    ん", "エラー", MB_OK | MB_ICONERROR | MB_RIGHT); return 1; } このようにして実行ファイルのサブフォルダにあるtxtファイルを見つけることはできるのですが、このサブフォルダにあるtxtファイルのファイル名を1に変更しようとMoveFile( fd.cFileName, filename )などとしてもファイル名が変更できません。サブフォルダではなく、、((h = FindFirstFile("*.txt", &fd)のように指定して、実行ファイルにあるtxtのファイル名は変更できます。この実行ファイルのサブフォルダにある任意のtxtファイルを見つけだし、ファイル名を変える何かいい方法があればご教授お願いいたします。

  • バッチファイルにてフォルダのみをコピーしたい

    たくさんのフォルダが有って、その下にもサブフォルダがあります。 また、フォルダの中にはファイルも存在します。 このような状況の中、サブフォルダもフォルダもコピーせず、フォルダのみをコピーしたいのですが、バッチファイルにて可能でしょうか?

  • フォルダ名をファイル名の頭に追加するバッチ

    社内の規定でパソコンにフリーソフトをインストールができません。 フォルダ内の複数あるファイル名の頭にフォルダ名を付け足すバッチファイルを作る事は可能でしょうか? 例 フォルダ名 ABC ファイル名 123.jpg 変更後 ABC123.jpg フォルダをバッチファイルにドラッグ&ドロップでファイル名を変更出来るようなものが有ればとても助かります。 わかる方がいましたら教えて頂きたいです。 宜しくお願いします。 使用するパソコンのOSはWindows7です。

  • バッチファイルでサブフォルダにあるexeを実行

    お世話になります。 バッチファイルをつかって サブフォルダにあるexeファイルの実行を 試みていますが、exeファイルの指定がうまくできず実行できないので、 ご教示いただけないでしょうか。 pushd %%0\.. でバッチファイル実行フォルダをカレントにしています。 バッチファイル実行ファイルがあるフォルダ000に サブフォルダA、そのなかにサブフォルダB、さらにその中にサブフォルダG1,G2,G3 があり、G1,G2,G3の中に、それぞれaaa.exeがあります。 フォルダ000のバッチファイルからaaa.exeを実行するために、 ファイルの指定をどのようにしたらよいかご教示いただけないでしょうか? よろしくお願いいたします。 フォルダ000  batファイル   フォルダA     フォルダB       フォルダG1          aaa.exe       フォルダG2          aaa.exe       フォルダG3          aaa.exe バッチファイル内は、 forループで以下のようにしています。 for /L %%i in (2,1,3) do ( A\B\G%%i\aaa.exe )