バッチ作成のためのコマンドと要約

このQ&Aのポイント
  • バッチ作成に必要なコマンドを教えてください。
  • 2種類のバッチ作成方法について詳しく教えてください。
  • バッチ作成の手順を要約してください。
回答を見る
  • ベストアンサー

以下のバッチを作成する為のコマンドを教えて下さい。

お世話になっております。バッチを2種作成したいのですが、コマンドに詳しくなく困っています。 以下の説明で上手く伝わるかどうかわかりませんが、教えていただけると助かります。 宜しく御願いします。 ※A:移動元フォルダ・B:移動先フォルダ・C:移動先ファイル名・D:退避先フォルダ・E:退避先ファイル名は、パラメータファイルを参照する。 【1種目のバッチ】 (1)B:移動先フォルダの有無を確認し、なければ指定場所に指定の名前でB:移動先フォルダを作成する。 (2)A:移動元フォルダにテキストファイルが入っていなければ、終了 (3)A:移動元フォルダに入っているテキストファイルを全てマージし、C:移動先ファイル名とし、B:移動先フォルダに保存/上書きする(この時点でA:移動元フォルダは空に) 【2種目のバッチ】 (1)D:退避用フォルダの有無を確認し、なければ指定場所に指定の名前でD:退避用フォルダを作成する。 (2)B:移動先フォルダにC:移動先ファイルが入っていなければ終了 (3)D:退避用フォルダがあった場合、E:退避先ファイル名_10(10回前のファイルの意味)があれば、削除する (4)E:退避先ファイル名_9(9回前のファイルの意味)があれば、退避先ファイル名_10に名前を変える (5)E:退避先ファイル名_8(8回前のファイルの意味)があれば、退避先ファイル名_9に名前を変える (6)E:退避先ファイル名_7(7回前のファイルの意味)があれば、退避先ファイル名_8に名前を変える (7)E:退避先ファイル名_6(6回前のファイルの意味)があれば、退避先ファイル名_7に名前を変える (8)E:退避先ファイル名_5(5回前のファイルの意味)があれば、退避先ファイル名_6に名前を変える (9)E:退避先ファイル名_4(4回前のファイルの意味)があれば、退避先ファイル名_5に名前を変える (10)E:退避先ファイル名_3(3回前のファイルの意味)があれば、退避先ファイル名_4に名前を変える (11)E:退避先ファイル名_2(2回前のファイルの意味)があれば、退避先ファイル名_3に名前を変える (12)E:退避先ファイル名_1(1回前のファイルの意味)があれば、退避先ファイル名_2に名前を変える 13.B:移動先フォルダのC:移動先ファイルをD:退避用フォルダ内に、E:退避先ファイル名_1として作成する(この時点でB:移動先フォルダは空に) わかりにくくて申し訳ありませんが、宜しく御願いします。

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

  • ベストアンサー
  • Eureka_
  • ベストアンサー率41% (5064/12242)
回答No.1

1)結局フォルダがなければ困るんですから作る。 md [B] (下記するnot existを使った条件分岐で処理する方がスマートかも) 2)txtを探すんで条件処理、if not exist [A]\*.txt goto end 3)copy [A]\*.txt [B]\[C]  del [A]\*.txt  end 1個目はこんな感じかなと。フォルダ、ファイル名の指定は適宜読み替えてください。 1)md [D](同じく条件分岐(略)) 2)if not exist [B]\[C] goto end 3)del [D]\[E]_10 4)ren [D]\[E]_9 [D]\[E]_9 以下[E]_1を[E]_2にするまで繰り返し。 ・・・泥臭い書き方したあとであれですけど、このリネーム処理は全体をfor ~ in ~ do ~でやるのがスマートかも。 5)move [B]\[C] [D]\[E]_1  end だいたいこんな書式になるんじゃないかなと。 スマートに書くやり方はいくらもあると思いますが、DOSコマンドのバッチ処理に効率化ももう求められてないと思いますから。

rin_ko
質問者

お礼

ご丁寧にどうもありがとうございました&お礼が遅くなり申し訳ありませんでした。DOSコマンドはまったく作ったことがないので、分かりにくい説明であったと思いますが、例も挙げていただき、助かりました。

関連するQ&A

  • バッチファイルのコマンドについて

    バッチファイルのコマンドについて ウィンドウズです。 バッチファイルにて、大量のファイルの名前を以下の通りにリネームしたいです。 どのようにコマンドを組めばいいのか教えてください。 また、リネームしたファイルは1つ上のフォルダに移動させたいです。 1、ファイルの1~3文字目を削除してリネームして移動するコマンドデータ 2、ファイルの3~5文字目を削除してリネームして移動するコマンドデータ 例:『123456789』というファイル名に対して、 『456789』というファイル名にして移動するコマンドと 『126789』というファイル名にして移動するコマンドが欲しいです。 データは、名前も文字数もバラバラです。 知っている方がいたらお願いします。

  • バッチコマンドを作りたい

    MS-DOSでのバッチコマンドについての質問です。 パスを引数で指定して、そのパスのディレクトリ以下(サブディレクトリも含む)のファイル名を全て取得し、加工して表示するバッチを作りたいのですが・・。 例えばコマンド名を jcm をすると C:\>jcm C:\temp と入力すると(「C:\temp」は引数)、C:\temp以下(サブフォルダも含めて)にある全てのファイル名を取得し、ファイル名がA.txt,B.txtだったとすると java A.txt java B.txt のように加工して表示したのです。 バッチファイルの中身はどのように記述すればよいでしょうか?

  • フォルダを選り分けバッチ(選り分け先はリスト指定)

    複数のフォルダ(a*)が入っているフォルダ(b)があります。 その複数フォルダ(a*)を、指定のリストに従って、(b)から別のフォルダ(c)か(d)へ選り分けて移動したいと思っています。 数が多いので、バッチ処理したいのですが コピペして使えるようなバッチ文を教えていただけませんでしょうか。 選り分け先の指定リストは下記ような感じです。仮に「shitei00.csv」としています。 ((c)用のリスト・(d)用のリストを別々に分けて、(a*)フォルダ名のみの羅列にすることも可能です。)  移動されるフォルダ名(a1),移動先フォルダ名(c)  移動されるフォルダ名(a2),移動先フォルダ名(d)  移動されるフォルダ名(a3),移動先フォルダ名(c)  移動されるフォルダ名(a4),移動先フォルダ名(c)  移動されるフォルダ名(a5),移動先フォルダ名(c)  移動されるフォルダ名(a6),移動先フォルダ名(d)  移動されるフォルダ名(a7),移動先フォルダ名(d)  移動されるフォルダ名(a8),移動先フォルダ名(d)  移動されるフォルダ名(a9),移動先フォルダ名(c)    ・    ・    ・ ※実際の(a*)は連番ではありません。 また、各(a*)フォルダの中には複数のファイル(数はまちまち)があり、それも一緒に移動したいです。 ※PCはWindows 10 Pro コマンドの知識が無いので、そのままコピペできるような回答をお願いしたく存じます。 メモ帳で作成し、拡張子を「.bat」に変えてダブルクリックして実行すればよい、という程度の知識でございます。 宜しくお願いします。

  • バッチファイルが作成可能でしたら教えてください

    指定フォルダの最新のファイルを (グローバル)ホットキーを押すだけで 移動、もしくは削除したいのですがバッチファイルで可能でしたら 作り方を教えてください

  • バッチファイルのコマンド

    なんかバッチファイルで ROBOCOPY D:\RAMImage F:\icache\cache /e こんな感じ↑のバッチファイルを実行するとF:\icache\cacheフォルダの中にもうひとつのcacheフォルダとそれ以下のファイルができてしまうのですがなぜですか? OSはVistaです。 よろしくおねがいします。

  • バッチファイルへのD&D

    バッチファイルを作成して、以下の作業の効率化を図ろうと考えていますが、初心者のため、上手くいきません。 アイディアの可否を含めて、参考になるサイト、例文など教えてください。 環境はWindows Xp SP3です。 [作業] 1.バッチファイルに任意のフォルダAをD&Dする 2.フォルダA内にフォルダB-1を作成する。 3.作成したB-1に、フォルダA内の[.jpg]ファイルを移動する 以上 フルパスを指定してのバッチファイルなら自分でも何とか作成できるのですが、 このアイディアのは全くできませんでした。 よろしくお願いします。

  • このバッチは間違いないでしょうか?

    システムの運用をしていますが、タスクでバッチを定期的に起動して、ツールを自動運用するようにしたいのですが、以下のようなバッチを作りました。 =========================== D: CD D:\aaa\bbb\ccc dataBackup.wsf cscript ”data 退避.vbs” =========================== このバッチについて質問ですが、 ・「cscript」というのは、どこかのサイトに書いてあってのを参照してコピーして書いてみたら動いたので書かないといけないのだなぁ という位の認識なのですが、vbsファイルを起動するときは、「cscript」と記述する必要がある、というのは間違いないでしょうか? ・テストしたサーバではたまたま動きましたが、cscriptは、何かアプリやコンポーネントが入っていないと動かないのでしょうか?つまり、買ったばかりのパソコンで、cscript ”data 退避.vbs”で動かすためには何かアプリ等を入れる必要があるのでしょうか? ・「cscript ”data 退避.vbs”」が「cscript data 退避.vbs」だと、 ファイル名にスペースが入っていてうまく動かなかったため、 cscript data 退避.vbs を””等で起動するファイルを指定して cscript ”data 退避.vbs” としたのですが、問題ないでしょうか? 調べればすむ話なのですが、急いでいるため質問することにしました。初心者的な質問恐縮ですが、よろしくお願いいたします。

  • バッチファイル作成で困っています

    ルートディレクトリの直下に、たくさんのフォルダが存在し、 すべてのフォルダ名がyyyymmdd形式の日付になっています。 例えば c:\20211215 c:\20220123 c:\20220302 c:\20220419 c:\20220524 ちなみに、本日の日付を表すフォルダ名が一番数字が大きいものです。(つまり未来の日付のものはありません) バッチファイルに引数を入れて、引数で指定した数字以降のものだけ すべてc:\workの下にフォルダごとxcopyするバッチファイルは どう作れば良いのでしょうか。 例えば、引数が20220225ですと、上記の例ではxcopyの対象は c:\20220302 c:\20220419 c:\20220524 の3つになります。 for /d ループになるように思いますが、お知恵(サンプル)をいただきたく。

  • バッチファイルのコマンドについて

    Cドライブにフォルダ【TMP】があります。このフォルダには毎日、日付けの名称のフォルダ(ddmmyyyy)が一つ作成されます。C:\TMPにあるサブディレクトリを、Dドライブ【BAK】フォルダに移動するバッチファイルを作成したいのですが、どのようなコマンドを記述すればいいのでしょうか。 set dir1=c:\tmp\* set dir2=d:\bak move "%dir1%" "%dir2%" 上記では、tmpのファイルのみしか移動出来ません。また、d:\bakに移動したフォルダを定期的に削除したいのですが(作成後、一ヶ月以上経過したフォルダ)どのようにdelコマンドを記述すればいいでしょうか。 宜しくお願いします。

  • バッチファイルを作りたい。

    こんにちは いまある作業をしていて、どうにか自動化できないかと調べていたら、 バッチファイルというものがあると知りました。 バッチファイルに、ファイルをドロップすると、そのファイルの名前のフォルダが作成され、 そのフォルダの中に、B,Cの2つのフォルダ、さらにフォルダBのなかに B1、B2、B3、B4の4つのフォルダが作成される。 というバッチファイルを作りたいです。 また、一度に複数のファイルをドロップしても、動くようにしたいです。 どなたか詳しい方、教えてください。 よろしくお願いします。