• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチ作成についてご教示願います。)

バッチ作成についての質問

SHIMAPEEの回答

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.2

回答1の補足へのアドバイスです。 課題の期限もあるのでしょうが、何を始めるにせよドキュメントを読まねばならないでしょう。 WSHでしたらMicrosoft MSDNの、Windows Script Host, JScript, FileSystemObjectあたりをざっと眺めるとよいです。 Microsoft Windows スクリプト テクノロジ http://msdn.microsoft.com/ja-jp/library/cc392483.aspx インターネットでもいろいろなサンプルを検索できます。MSのドキュメントよりもわかりやすいかもしれません。また回答1のサンプルはJScriptで書きましたが、Visual Basic風なVBScriptも選べます。検索できるサンプルはVBSciptが多いようです。 とりあえずドキュメントは一通り眺めたとしまして、スクリプトは自分の手元で手軽に試せるのが利点ですから、まず、テストをするために「A店舗フォルダ」を作ってはどうでしょうか。任意の日付のファイルを作成するのは、たぶん難しいと思いますのでPCの中から適当な日付のファイルをいくつかコピーしては。 そうしたら課題に向けて少しずつスクリプトを組み立ててテストします。たぶん1発では動かないでしょうから、直してテスト、を繰り返します。 例えば最初はA店舗フォルダ内のファイルをリストします。これは回答1のサンプルそのものですね。とりあえずサンプルの★指定フォルダをA店舗フォルダに書き換えればよいでしょう。 次に1ヶ月以上前のファイルをリストします。これはログファイルの一部に相当します。実現するには1ヶ月前の日付とファイルの作成日をif文で比較すればいいですね。どちらの日付も回答1のサンプルにあります。if文は調べて下さい。 ここまでできたら、対象のファイルの削除を加えれば主なところは完成です。なお、回答1のサンプルにはファイル削除がありませんでした。ファイルを削除するにはFileSystemObjectのメソッドを使います。リストするファイルだけを削除し、別のファイルを消さないように注意して下さい。 ----- 以上で主なところは完成ですが、B店舗フォルダ、C店舗フォルダに適用する、ログに削除した日付を残す、ログファイル名を作る(フォルダ名との規則性は?)等が残っていますね。どうしたらよいか考えてみましょう。

Rook09
質問者

補足

 重ね重ねご親切なアドバイスありがとうございます。 自分でもWSHのドキュメントを読みつつ、これまでに示して いただいたサンプルを参考にさせていただき、作成を進めて いきたいと思います。  まずは、SHIMAPEEさんのおっしゃるようにA店舗から主なところを 作成していき、B店舗フォルダ、C店舗フォルダに適用する、ログに削除した日付を残す、ログファイル名を作るといった残りの部分に及んでいければと思います。  課題の期限は来週水曜日の午前までですが、何とか頑張って 今週中には主な部分は作りあげたいと思います。  作成に行き詰るとまたご質問させていただくかも知れませんが、 お時間がお有りでいらっしゃるときにまたアドバイスいただけたらと存じます。厚かましいお願いで申し訳ありませんが、よろしくお願いいたします。

関連するQ&A

  • Windowsバッチでの作成について困っております。

    当方、大学2年の学生です。 現在履修しています情報系の講義で、連休の課題として 「WindowsのDosバッチ作成」の課題が出ました。 課題の期限は16日(金)です。 課題の内容は、 「ファイルを自動で削除するバッチの作成」です。 あるフォルダにたまったファイルを、月に一回自動削除するもので、 削除対象のファイルは削除日より一年以上経過している全ファイルです。 例えば、削除日が2009年10月10日だとすると、削除対象ファイルは 2008年10月10日以前のファイルになります。 *ファイル名は任意ですが、例えば「Sample20090101.log」のようにしようと思ってます。 また削除した際には、削除したファイル名と日付をログに残します。 ================================ 恐らく大まかな処理の流れとしては、 1.まず、ファルダにあるファイルをリストする。    フォルダはパスを変数で指定し、ファイルはdirを使って表示する形になるのかなと思います。 2.次にその中で削除対象となるファイル(削除日より一年以上経過しているという条件で分岐させる)を検索する。 3.次に、削除対象のファイルを削除する。 4.最後に削除したファイル名と日付のあるログを出力する。 以上のようになるかと思います。   *1~3の処理を一つのバッチで、4のログを出力用にさらにもうひとつバッチをつくろうかと思います。   ネットで検索してみますと、このような処理をDosで作るのは難しい。。。というような意見が多く、 自分もWindowsDosバッチの作成は経験がなく、困っています。 どなたかご教示いただければと存じます。よろしくお願いします。

  • バッチファイルを変数で作成したい

    3ヶ月前のフォルダを自動で毎月削除したいと考えています。 現在、毎月フォルダが作成されるようにバッチファイルを作成しましたが、今度は3ヶ月経ったフォルダは削除したいと考えています。 たとえば、8月1日に5月のフォルダを削除というようにです。 2008年5月のフォルダ名:200805 2008年6月のフォルダ名:200806 2008年7月のフォルダ名:200807 2008年8月のフォルダ名:200808 毎月フォルダが作成されます。 9月に200809のフォルダを作成し、 200805のフォルダを削除したいです。 200809のフォルダ作成はできましたが、 200805のフォルダを削除するバッチファイルを作成できません。 どうすればいいのでしょうか。 よろしくお願いします。

  • バッチファイルの作成方法

    バッチファイルの初心者です。 下記のようなバッチを作成したいと思っています。 (1)本日の日付のディレクトリを作成する。 (2)そのディレクトリに数時間毎に作成される***.logを全て移動する。 (3)3日前に作成したディレクトリを削除する。 以上のような流れのバッチファイルは簡単に作成できるのでしょうか?

  • バッチファイルで古いフォルダを削除する方法

    バッチファイルを利用して条件のあったフォルダを削除したいと考えています。 フォルダ郡は「20091020」「20090720」など作成された日付がそのまま 名前になっています。 自動的に作成するバッチは既にあるのですが、現状このままですと 増える一方になってしまいます。 そこで3ヶ月以上前(今日よりマイナス90日) などの条件に合致したすべてのフォルダを削除する記述を 現在のバッチファイルに追加したいのですが、記述方法が分かりません。 ご存知の方いらっしゃいましたらお力をお貸しください。 よろしくお願いいたします。

  • コピーバッチの作成について。

    コピーバッチの作成について。 現在フォルダのコピーバッチを作成しようと考えています。 ただ、未熟なもので、なかなか難しく、できればご教授していただければと思い、 投稿させていただきました。 尚、現在作成したいコピーバッチは下記となっています。 1. テストPC01に不定期に配置されるフォルダを、テストPC02上にコピーする。 (フォルダ名はTEST20100919という形で、TESTのみ固定で日付が毎回変動する) 1.5 フォルダがない場合はバッチファイル終了。 2. コピー後に、テストPC02の特定のサービスを停止する。 3. テストPC02にコピーした、TEST20100919をTESTにリネームする。 4. 2.で停止したサービスを起動する。 5. テストpc01のコピー元フォルダを削除する。 (また、上記のバッチで実行された内容をログに吐き出させたいと考えています) このような処理をバッチファイルで行うことは可能でしょうか。 可能でしたら、お手数ですがご教授願えないでしょうか。 よろしくお願いいたします。

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

    現在、ログ世代管理バッチファイルを作成していますが、 方法は、日付ごとに作成されたログフォルダからシステム日付より365日以降のフォルダを削除するといったものです。 しかしながら、どうしてもフォルダ(日付)の比較方法が上手くいきません。365日前のフォルダを削除する事はできるのですが、365日以降のフォルダの削除ができません。 詳しい方がいましたら、お教えねがえないでしょうか? 宜しくお願い致します。

  • 削除バッチ方法を教えてください

    Aフォルダの中のあるファイルのみを残し、他のファイルを削除するバッチorDOSコマンドを教えてください? ログファイルを削除するために上記のような仕様でバッチ作成したいのですが、いろいろと調べていますが、わかりません。 ファイル名を見て削除したいと考えています。 ログのファイル形式は、年日付時刻ABCファイルとなり、当日と前日のログだけを残して、他のログを削除したいのですが、、、 宜しくお願いします。

  • バッチを作成してウイルス撃退!

    バッチを作成してセーフモードでも自動起動するウイルスに以下バッチを実行します。 ren e1.dll WORM_STATION (ウイルスに感染したファイル名前変更) md e1.dll (ウイルスに感染したファイルの名前のフォルダを作成) del WORM_STATION.BAT (実行したバッチファイルを削除) 2行目の md e1.dllが何のために行ったかがよくわかりません。後にウイルスバスターで検知してこの作成したフォルダを削除したのですが何故このような方法なのかが気になります。 教えて頂ければ幸いです。

  • バッチで特定のファイルを消す方法と日付の計算

    いつもお世話になっております。 バッチの作成方法について教えてください。 tmpフォルダには日々ログファイルが作成されていきます。 ログファイルのファイル名はバラバラですが、必ず20140527のように yyyymmddの日付が入っています。 3日前のログはもう不要なので、削除したいのです。 (1)本日より3日前の計算はどのようにしたらよいでしょうか? (2)3日前の日付が入っているファイル名を削除するにはどのようにしたらよいでしょうか? 具体的にプログラムを書いて教えていただけないでしょうか。 お手数をおかけしますが、よろしくお願いします。

  • バッチファイル作成方法

    バッチファイルを作成してファイルの結合(csvファイル)を行おうとしています。 ですが下記のような状況になってしまいどうにかならないかと思っています。 ***1.csv ***2.csv ***3.csv ***1.csv というような順番でデータがフォルダに転送されきてしまいます。 「1,2,3」までならば結合のバッチファイル作成が可能なのですが、 「1,2,3」の後に再度「1」のファイルが同フォルダにきた時には どのような文にすればイイのかお教え頂けますでしょうか。 下記に結合の文を記させて頂きます。 copy ***1.CSV+***2.CSV+***3.CSV+***_ADDALL.CSV d:\***\***_ALL.CSV 初めてバッチファイルというものを作成するので不明な点が多いのですが、宜しくお願い致します。