• ベストアンサー

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

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

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

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.3

#1さんの補足にはお答えいただくとして、とりあえずこんな感じかな。 myMkdir.bat REM ↓↓↓↓↓↓↓ここから @echo off :START IF "%~1"=="" GOTO END REM ファイルの場所に移動 cd "%~dp1" REM ファイル名から拡張子を取った名前でフォルダ作成 mkdir "%~n1" REM 作成したフォルダに移動 cd "%~n1" REM サブフォルダ作成 mkdir B mkdir C mkdir B\B1 mkdir B\B2 mkdir B\B3 mkdir B\B4 SHIFT GOTO START :END REM ↑↑↑↑↑↑↑ここまで 例えば、aaa.txtとbbb.txtがあるとします。 2つのファイルを選択して、myMkdir.bat(ショートカットでも可)にドラッグ&ドロップすると、aaa.txtとbbb.txtと同じフォルダにフォルダが作られます。 「そんな仕様のつもりはない」と言う事でしたら、#1さんへの補足を含め、再度、詳細な要件についての補足をお願いします。

marvel1
質問者

お礼

解決しました!

marvel1
質問者

補足

ありがとうございます! やりたいことができました! もし、フォルダをbatファイルのある場所に作成する場合は、 どこを変えればいいのでしょうか?

その他の回答 (3)

  • loveMySai
  • ベストアンサー率48% (12/25)
回答No.4

質問者さまが、基本的に行いたい作業は、 >> バッチファイルに、ファイルをドロップすると、そのファイルの名前のフォルダが作成され、 >> そのフォルダの中に、B,Cの2つのフォルダ、さらにフォルダBのなかに >> B1、B2、B3、B4の4つのフォルダが作成される。 これらの作業は、バッチファイルの作成に、こだわらず、基本的に、ファイルの圧縮、解凍ソフトでも作業できますが・・・ 質問者様のパソコンのOSなど未明ですが、Windows の場合だと、LHMelting、或いは、+Lhaca とかを利用すれば、上記の作業が行えます。(小生は、Windows XP / 7 で、上記の作業を行ったことがあります。) LHMelting を利用した場合、自己解凍ソフト(電子レンジのアイコンの実行文)の作成も容易に行え、相手側もフォルダ形式(B1、B2、B3、B4の4つのフォルダが作成される。についても)も維持できます。 あくまでも、バッチファイル(?) の作成にこだわるのならば、別ですが・・・ 尚、LHMelting、+Lhaca とかは、ウェーブ上でダウンロードできます。 的が、違っていたらごめんなさいね -以 上-

marvel1
質問者

お礼

ありがとうございました!

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

>バッチファイルというものがあると知りました。 では、同じ調べ方でも構わないので さらに、 ファイルをドロップしたら・・・ フォルダを作るには・・・・ こういうのを満たすにはどういう仕組みかをまず調べていけばいいのでは?。 「MS-DOS」のキーワードでもバッチファイルは絡むので見つかるとは思います。 バッチファイルを起動するのは何ですか?。 手動ですか?、何かのアプリからですか?。

marvel1
質問者

お礼

ありがとうございました!

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

Windows用でいいんでしょうか。 また、ドロップしたファイルと同名のフォルダはどこ (デスクトップ、どこか決まったフォルダ、バッチファイルのあるフォルダ、その他) に作りたいのでしょうか。

marvel1
質問者

お礼

ありがとうございました!

関連するQ&A

  • 1つ下のファイルをコピーするバッチファイル

    コマンドプロンプトで実行するバッチファイル(x.bat)で C:\Aというフォルダのさらに1つ下のフォルダ (このフォルダは1つのみで名前は毎回変化します) の中にあるc.mpgというファイルを D:\Bフォルダにコピーするバッチファイルを 作りたいのですがどのように記述すればよいのでしょうか。 例えば、C:\A\data_20120922195626というフォルダ (data_20120922195626というフォルダ名は任意の名前ですが C:\Aフォルダの中にはこのフォルダ1つしかありません) の中に\c.mpgというファイルがあるとします。 バッチファイル x.bat を実行すると D:\Bフォルダにc.mpgをコピーしたいのです。 なお、data_20120922195626というフォルダの名前は バッチファイルを実行する時には毎回異っていますが バッチファイル実行中は変化しません。 VBscriptやwshなどは使わずWindosXPの標準DOS機能のみで お願いします。(WindosXP SP3)

  • バッチファイル、ドラッグ&ドロップしたファイルだけ

    [ファイルを名前を変えて複数個コピーを作成、を一括で] http://okwave.jp/qa/q7808481.html という質問をしていたのですが、 「wordのファイルを、ファイル名を変えて複数コピーするためのフリーソフ 」 http://okwave.jp/qa/q5651889.html という質問を見つけ、参考にしてバッチを編集したのですが、使い勝手が悪いです。 copy *.* 1.* copy *.* 2.* copy *.* 3.* copy *.* 4.* copy *.* 5.* copy *.* 6.* copy *.* 7.* copy *.* 8.* というバッチを作ったのですが、 このことにより、コピーを複数作成したいファイルをバッチファイルのアイコンにドラッグ&ドロップすることにより、カレントディレクトリにコピーが8個作成できるようになったのですが、 ドラッグ&ドロップしたファイル以外に、同一ディレクトリにあるファイルすべてのファイルのコピーが作成されてしまいます。 コピーするのをドラッグ&ドロップしたものだけにする方法があれば教えてください。

  • バッチファイルの作成

    お世話になっております。 バッチファイルの作成方法について、只今勉強中です。 現在、毎日行われている作業をバッチファイルで自動化が出来ないか検討しておりますが、バッチファイルの編集に苦戦していて困っております・・・ ---実行したい事--- 0.以下、作業の流れをコマンドプロンプト上で表示する。 1.C:\ツール\batというフォルダに移動する。 2.batフォルダに新しく「file」というフォルダを作成 3.batフォルダ内には「bat_YYYY/MM/DD.txt」という日付のテキストがあり、該当する日付のテキストをコピーしてfileフォルダへ貼り付ける。 4.fileフォルダへ移動する。 ---終了--- 手順を全部書いてしまっているのですが、途中まではバッチファイルの編集をする事が出来ました。しかし、正解しているか不安です。 ご教授の程、宜しく御願い致します。

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

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

  • バッチファイルについて質問

    下記のようなバッチファイルを作りたいのですが 教えていただけませんでしょうか? A:自分PC B:ファイルサーバー とする 内容は、 Aを起動する時に自動でバッチファイルが起動して、 Aの中にあるCドライブのファイルを、 Bのファイルサーバーの一定のフォルダ内へ自動保存する。 Bへ保存するファイル名は、『YYYYMMDD』として、 2ヶ月分保存する。 2ヶ月以上保存する場合は、古い順に自動削除する。

  • バッチファイル(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と上には書いてあります。 よろしくお願いします。

  • バッチファイルでのファイル一覧取得

    初心者です。初めてバッチファイルを作成しようと考えていますが、作成方法がわかりません。 環境はWindwsです。 C:\BディレクトリにAというフォルダがありその中に複数のテキストファイルが保存されています。 そのファイルの一覧をBディレクトリ直下のfile_name.txtへ書き込みたいのですが、dirコマンドでファイルの一覧が取得できるのはわかったのですが、ディレクトリ移動してファイルを書き込む方法がわからず困っています。 更にAフォルダには毎日違うテキストファイルが保存されるため、次回バッチを起動した際にはfile_name.txtの中身をクリアして新規に書き込みをしたいと考えています。 初心者で質問内容に不備があるかもしれませんが、ご教授お願いします。

  • バッチファイルについて

    pcのOSは全てwindows98です。 PCが上司機1台、社員機20台あるとします。ピアツーピアでネットワーク化しています。各社員機20台はCドライブの「Mydocument」フォルダと「データ」フォルダが共有されています。必要な時に上司機からネットワークアイコンを開いて各社員機の共有されている2つのフォルダの中を消したりしています。ここで質問します。 そこで上司機からバッチファイルで一度に「Mydocument」フォルダと「データ」フォルダの中身を消すということをしたいのです。ちなみに「Mydocument」は中のデータを全て消すのではなく必要なものもあるので、「Mydocument」を別のフォルダ(C\バックアップフォルダ)にコピーしていて、そのコピー先の「C\バックアップフォルダ\ Mydocument」をCドライブにコピーして置き換えるという風なバッチファイルを作りたいです。以上のようなバッチファイルはどんな文になりますか?本当はバッチファイルを勉強したらよいのですが、どうしてもすぐに作りたいのでどんな文になるのか実際に作った文を見せてください。お願いします。

  • バッチファイルで複数フォルダのファイルを結合したい

    バッチファイルで複数フォルダの中にあるlist.txtというテキストファイルを結合するにはどのように記述すればよいでしょうか。 具体的には、 複数のフォルダがあり、 C:\test\202104026\list.txt C:\test\202104025\list.txt      : C:\test\20000101\list.txt というような感じで、 各フォルダの中にlist.txtというファイルが入っています。 list.txt以外にもいろいろなファイルが入っています。 各フォルダの中のlist.txtファイルの内容を結合した1個のファイルを生成するバッチファイル(test.bat)を教えてください。 よろしくお願いします。(Windows10)

  • 条件分岐のバッチファイル

    「D&Dした複数ファイルを、そのファイル名と同名のフォルダ(既に作成済み)の中にある、Aというフォルダに移動する。」という動作をするバッチファイルを、以前の質問などを参考にしながらわからないなりに作ってみました。 :LOOP if %1 == "" GOTO XEND move %1 "C:\Documents and Settings\(ユーザー名)\デスクトップ\%~n1\A" SHIFT GOTO LOOP :XEND PAUSE これで動作したのですが、これにさらに 「ファイルの拡張子がjpgならフォルダAへ、bmpならフォルダBへ、  pngかつファイルサイズが2MB以下ならばフォルダCへ、それ以上ならフォルダDへ移動」 という動作を追加したいです。結構複雑なのですが、これはバッチファイルで可能なのでしょうか? 長文の上、わかりにくくてすいません。 可能ならば、どなたか教えていただけないでしょうか。よろしくお願いします。

専門家に質問してみよう