• ベストアンサー

バッチの作り方

yienの回答

  • yien
  • ベストアンサー率77% (24/31)
回答No.2

質問例の場合ですと、Aフォルダ内にメモ帳などでバッチファイルを作成して下さい。 仮にrenindex.batとします。中身は次の1行のみです。 for /d %%i in (*) do ren %%i\index.html %%i.html これでフォルダ名を取得して、フォルダのあるだけ繰り返し処理を実行します。 もしバッチファイルでなく、コマンドラインから直接処理をしたい場合は、Aフォルダ内に移動してから、%%iでなく%iで記述して実行してください。

関連するQ&A

  • バッチにすると動作しない

    コマンドプロンプト初心者です。 仕事でファイルの名前を一括変換する為にバッチを作成したいのですが、 コマンドプロンプトでは動作するのに、bat形式のファイルに保存して実行すると、一瞬だけ窓が開いてすぐ終了してしまいます。 変換はもちろんされておりません。 フォルダの構成は下記の通りです。 フォルダ ┣フォルダA    ┣p001-a01_01.jpg    ┣p002-b01_01.jpg    ┗p003-c01_01.jpg ┣フォルダB    ┣p001-a01_01.jpg    ┣p002-b01_01.jpg    ┗p003-c01_01.jpg ┗フォルダC フォルダ内にある001-a01_01.jpgの【_01】を消して001-a01.jpgという風にしたいのですが、 cd C:\Data for /r /d %i in (*) do ren %%i\p???-a01_01.jpg p???-a01.jpg for /r /d %i in (*) do ren %%i\p???-b01_01.jpg p???-b01.jpg for /r /d %i in (*) do ren %%i\p???-b01_01.jpg p???-c01.jpg 上記のコマンドをメモ帳に書いて、コマンドプロンプトで実行したところ、ファイル名の変換はされました。 しかし、そのメモ帳をbat形式で保存をして実行をすると、冒頭で書いたように実行されません。 書き方など、自分なりに調べて試してみたのですが、やはり変換されません。 コマンドプロンプトで実行する時と、バッチで実行する時では書き方が違うのでしょうか? よろしければ知恵を貸していただきたく思います。

  • バッチ(bat)の作り方を教えてください

    今、特定フォルダ内にあるファイル3つが存在すればコマンドを実行し、無ければ4時までループさせるといったことをバッチでしたいと考えております。 イメージは以下の通りです。 D:\a.txt,D:\b.txt,D:\c.txt バッチを1時から動かして、上記3つが揃えば、そこからコマンドを実行しバッチは終了 もしなければ10分置きにファイルをチェックし、4時を過ぎればバッチを終了(コマンドを実行させない)ということをしたいです。 コマンドは何でも良いので例えば「echo HELLO」とでもしておきます。 よろしくお願いいたします。

  • バッチファイルがデスクトップからしか開けない

    調べてもちょっとわからないのでお聞きします。 作成したバッチファイルをデスクトップに保存した場合は開けるのに、普通のフォルダに保存して エクスプローラーから開こうとすると開けません。一瞬コマンドプロンプトの画面が出て、速攻で消えてしまい、結局実行されていません。たとえば chrome.bat(ファイル名) start chrome と保存した場合、デスクトップからはちゃんとchromeが起動するのにエクスプローラーからだとできません。 なぜでしょうか。一瞬コマンドプロンプトのウィンドウが出てすぐ消えてしまいます。 原因がわかる人がいたら回答をお願いします。

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

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

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

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

  • バッチファイル実行時のプロンプトを非表示にしたい

    WindowsXPでバッチファイルからバッチを実行するとコマンドプロンプトが一瞬表示されバッチが終了すると自動で閉じますが、このプロンプトを表示しないようには出来ないでしょうか? バッチの結果を知らせる必要が無い処理なのであの一瞬出てくるプロンプトが邪魔で…。

  • 複数のフォルダを開くバッチファイルの作成方法

    windows上で、複数のフォルダを一斉に開くバッチファイルを 作りたいのですが、上手い方法が見つかりません。 「explorer "開きたいフォルダのパス"」 このコマンドを記述したバッチファイルを実行すると 指定したフォルダを開く事が出来ますが、 開いたフォルダを閉じるまでバッチファイルに処理が戻らない為 「explorer」コマンド以降の処理が行われません。 この現象に対する対処法、もしくはフォルダ一斉オープンが可能な 別のロジックをご提示頂けないでしょうか。 尚、「windowsのバッチファイルで実現」する事が前提です。 同様の処理が可能なフリーソフト等は必要ありませんので ご了承願います。 以上、よろしくお願い致します。

  • 【バッチファイル】for繰り返しがうまくいかない

    バッチファイルの置いてあるフォルダ内(ついでにサブフォルダ内も)の 特定の拡張子(今回は.txt)ファイル全てを対象に (1)ある行ある列n文字目から2文字を読み込む×2 (2)読み込んだ文字をそのファイル名の先頭に追加 というバッチファイルを作りたいです。 具体例 テキストの中身↓ a.txt ○○○○ ○○○○ ○○○○ ○○○○ .... ○○○○ ○○○○ ○○○○ ○○○○ .... ○○○○ ○○○○ ○○○○ ○○○○ .... ○○○○ ○○○○ ○○○○ ○○○○ .... ○○○○ ○○○○ ○○○○ ○○○○ .... ○○○○ ○○xx ○○yy ○○○○ .... ○○○○ ○○○○ ○○○○ ○○○○ .... →ファイル名を「xxyya.txt」にしたい そこで素人ながら下記のようなバッチファイルを作成してみましたが、 フォルダ内にある1つ目のファイルに対してはうまく動くのですが 2つ目以降はリネーム出来ません。 フォルダ内すべての.txtファイルに実行するための 対処法がお分かりになれば、ご教授いただけると幸いです。 「rename.bat」 cd /d %~dp0 rem .txtファイルを列挙 for /f "usebackq tokens=*" %%i in (`dir /s /b *.txt`) do ( set name=%%~xni rem 特定の行列の文字列を抜き出して変数へ格納 for /f "skip=5 tokens=2,3" %%a in (%%i) do ( set front=%%a set back=%%b rem 7行目以降は不要なのでforから離脱 goto break ) :break rem 抜き出した文字列からさらに必要な文字を抜き出して変数へ set hed="%front:~2,2%%back:~2,2%" rem 元のファイル名へ追記 ren %name% %hed%%name% )

  • バッチ組むとき楽にパス切りたい

    複雑な操作を(半)自動化したいので、コマンドプロンプトで色々試しながらバッチを組んでいます。 バッチ組んでるといろいろ外部コマンドをネットから拾ってきたりして、ファイルが増えて、見づらくなるので、フォルダ掘って見やすく整理すると今度はパスが通ってないとか言われて、面倒です。 フォルダ構成も最初から完璧に定まるわけもなく、一通り片がつくまでフォルダ名も場所も変わり、パスも状況に応じてその都度切り直さないとならないので、その操作が面倒です。 今はとりあえず関係しそうなフォルダ群のうちの最上位のフォルダからtreeコマンドで一覧を出してパスを通したいフォルダ名をひとつひとつpathコマンドの引数へコピペしてますが正直やってられません。 しかもバッチがバグってるとプロンプトごと固まったりして落とさざるを得なくなるので、当然、環境変数も全部クリアされるので、毎回似たような操作をしてる気がします。 正直うんざりです。 どうしたらもっと楽にできますか。 楽したいから道具を使ってるのです。 強力な回答をお待ちしています。 なお環境はWin7 64ビットです。

  • パスワード付きzipファイルをバッチで解凍

    パスワード付きzipファイルをWindowsXP端末で バッチ(コマンドライン)から解凍する方法は無いでしょうか。 プログラム(c言語かコマンドプロンプトの予定)を実行すると、 ユーザの操作無しにzip解凍して、ファイル処理させたいと思っています。