• ベストアンサー

バッチファイルへのD&D処理

バッチファイルで以下の作業を自動化したいと考えていますが、初心者のため上手くいきません。 構想の可否を含め参考になるサイト、例文など教えてください。 環境はWindows Xp SP3です。 [処理] 1.バッチファイルに任意のフォルダをD&D 2.任意のフォルダ内に新規フォルダを作成する(例:写真等) 3.新規作成したフォルダに、任意のフォルダ内にある「.jpg」ファイル全てを移動させる 自分でも全パスを指定してのタイプでしたら作成できるのですが、それだと汎用性がないため、 こちらのタイプに変更したいと考えています。 アドバイスお願いします。

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

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

・バッチファイルがパラメータを受け取るには変数 %1 を使います。 ・カレントディレクトリを移動するのに chdir または cd コマンドを使います。 バッチファイルにはこれらを利用して例えばこう書きます。 (1)chdir %1 (2)mkdir 写真 (3)move *.jpg 写真 フォルダ名を D&D でバッチファイルに渡すと、(1)で %1 をフォルダ名(フルパス)に変換します。 例えばフォルダ C:\Windows をD&Dすると、 chdir C:\Windows を実行します。(パス中にスペースがある時はパス両端に " を付加します。) どのように解釈してるかは  echo %1  pause を書いておけば、DOS 窓で表示してポーズするので確認できます。 (2)で固定名のサブフォルダを作ります。 (3)でカレントフォルダ内の拡張子 jpg ファイルを全てコピーします。 ところでこのバッチ、まだ能力不足です。 ・渡すフォルダが、Cドライブ以外だとうまく機能しません。 (正確には、ドライブが「コマンドプロンプト起動時のカレントフォルダのドライブと」異なる時) ・また、「全ての jpg」との事ですが、カレントフォルダ内しか対象になって いません。 ・作成するサブフォルダ名が固定でありバッチファイル内に直接記述できるので 問題ないが、これをどこかを参照する、となるとまた工夫が必要 その他、バッチファイルの書き方についてはそのまんま検索すると いろいろ書かれたページがたくさんヒットします。 google検索 バッチファイルの書き方 http://www.google.co.jp/search?hl=ja&q=%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9&lr= 個々のDOS コマンドは パラメータ /? で簡単なヘルプが出ます。

Fant-22
質問者

お礼

すばやい回答&詳細な説明ありがとうございます。 これを参考にチャレンジしてみます。