• ベストアンサー

フォルダーの自動生成

argumentの回答

  • ベストアンサー
  • argument
  • ベストアンサー率63% (21/33)
回答No.4

みなVBSで難しく考えているようですがbatで十分でしょう。 [1日の時先月フォルダ作るよー.bat] echo off rem もしも1日ならば処理をするそうでない場合終了する if %date:~-2,2%==01 goto mkdirsystem exit :mkdirsystem rem 現在の年を確定(和暦)。西暦にしたい場合は「set y=%date:~-10,4%」とする。 set /a y=%date:~-10,4%-1988 rem 現在の月を確定 set m=%date:~-5,2% rem もしも1月だったら112、そうでない場合月の頭に1をつけ1引く(8進数対策) if %m%==01 (set m=112) else (set /a m=1%m%-1) rem 先月を確定する(末尾2桁のみを取得する) set m=%m:~-2% rem 去年を確定する(もしも12月だったら年を1引く) if %m%==12 set /a y=%y%-1 rem 指定のディレクトリにフォルダを作る mkdir \C\test01\%y%%m% mkdir \C\test02\%y%%m% exit とすればよいです。 スケジュールで月ごとに実行するよう登録するのがいいと思いますが 仮に間一日実行としても最初のチェックで1日時しか作成しません。 どうしてもVBSが良いなら [1日の時先月フォルダ作るよー.vbs] if split(date,"/")(2)=01 then Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateFolder ("\C\test01\" & split(date-1,"/")(0)-1988 & split(date-1,"/")(1)) fso.CreateFolder ("\C\test02\" & split(date-1,"/")(0)-1988 & split(date-1,"/")(1)) end if 私ならこんな感じに組むかな?VBSはdate型が有るのでまぁ楽チンちゃ楽チンですけどオブジェクト定義とかVBSしらない人に説明するのがめんどうなので・・・。 あと西暦にしたい場合は-1988を消しせばOKです。 どっちも動作確認したので動くと思います。 あと仮パスなのでどうでもいいことですけど\C\ではなくc:\とかでテストください。そのままでは実行できません。 追加条件・補足等がほしければ言ってください。

ogaki_3ok
質問者

お礼

遅くなり申し訳ありませんでした。 貴殿と他の方のアドバイスにより何とかできそうです。 ありがとうございました

関連するQ&A

  • マクロでフォルダを検索し、フォルダ内のブックを参照したい。

    エクセルでお願いします。 (1)と(2)のフォルダがあるとします。 (1)フォルダには年間のスケジュールを。 (2)フォルダにはスケジュールの内容を入れます(bookで)。 スケジュール表の特定の場所をクリックしたとき (例えば2月1日の部分)、 Bフォルダを開き、指定したbook (例えば2月1日のスケジュールを記載した)を開く。 こんなマクロを作成できますか?

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

    こんにちは。 今回はバッチファイルについてよろしくお願いいたします。まったくの初心者なので記述例などあるととても嬉しいです。 例えば C:\ABCフォルダに毎日AAAA/BB/CCのファイルが作成されます。 これを毎月1日に前月の分(AAAA/BB/01~AAAA/BB/31など)を別ドライブにAAAA.BBというフォルダを作成した上で、その中に放り混むようなものは作成可能なのでしょうか? 毎月1日に、前月分のファイルをまとめて他のドライブに新規作成したフォルダへ移動する、というイメージです。 お分かりになる方、よろしくお願いいたします。

  • コマンドプロンプトでのフォルダ操作(作成・削除)

    コマンドプロンプト初心者です。 毎月1日にタスクに設定したバッチを実行して、 フォルダの新規作成と古いフォルダの削除をしたいのですが、 処理をどのように考えたら良いか分かりません。 あるフォルダに 2011年7月,2011年8月,2011年9月という処理の対象のフォルダと その他にいくつかフォルダがあります。 処理の内容としては、 10月1日になったら「2011年10月」というフォルダを作成し 3ヵ月前に作成された「2011年7月」フォルダを削除 いろいろ調べているのですが、 コマンドプロンプトだけで出来るのかどうかも分かりません。 どなたかアドバイスお願いします。

  • フォルダを自動で開く

    フォルダを自動で開く 教えて下さい。 javascriptを使って、自動で指定のURLへ飛ぶというような事をした事がありますが、 自動で指定のフォルダが開くというようなjavascriptはありますでしょうか? *指定のフォルダとは、エクスプローラーにて自分のCドライブ、あるいはネットワーク上 に存在する共有フォルダを開くなど。。 よろしくお願いします。

  • Accessでフォルダを自動生成する方法について

    http://www.accessclub.jp/supbeg/091.htmlを参考に、 任意のパスを入力し、フォルダを作成するプログラムを作成いたしました。 そうしました所、存在していないフォルダの中にフォルダを作ることが出来ませんでした (例えば c:\aaa\bbb と指定した場合、aaa フォルダが存在する場合は bbb フォルダが作成されますが、 aaa フォルダが存在しない場合、bbb フォルダが作成されませんでした)。 上記のような場合、aaa フォルダが存在しなければ、自動的に aaa フォルダを作成し、 その中に bbb フォルダを作成したいと思いましたが、良い手が思いつきませんでした。 その為、何か良い手をご存知の方がいらっしゃいましたら、アドバイスをいただければと思います。 よろしくお願いします。

  • バッチファイルの作成

    今回はバッチファイルの作成についてよろしくお願いいたします。 自分の端末のAというフォルダに毎月ファイルが作成されます。これをネットーワーク上の違う端末の特定のフォルダーにコピーしたいのです。 Aというフォルダにyyyymmというファイルが毎月できます。 これを翌月になったら\\MR\test の中にコピーする、という事で、例えば 2006年5月には Aのフォルダにある200604というファイルをネットワーク上の\\MR\testにコピーという事です。 毎月決まった日に動作させたいのですがそれはタスクに入れればいいかな、と考えています。 すみませんが、よろしくお願いいたします。

  • フォルダを自動作成するばっちについて

    初めての投稿になります。 OKWaveで過去の記事を参考に、フォルダを自動作成するバッチを 作ったのですが、 同名ファイルを作ろうとすると、エラーも何も表示されませんが、 スルーされてしまうみたいで、フォルダ自体も作成されず、上書きもされません。 同じファイルに自動で連番を付けるなどの回避策など何かありませんでしょうか。 例、テスト   テスト01   テスト02       etc等 バッチ内容が以下になります。 set /p USER_INPUT=フォルダ名を入れてください。: mkdir "%USER_INPUT%" ご教授よろしくお願いいたします。

  • Outlookでフォルダ作成

    Outlook2010を使用しています。 受信年月ごとに振り分けるマクロを作成しましたが、あくまでも既存フォルダへの振り分けしか対応していません。 新しい年月(例えば毎月1日とか年が変わったとか)の受信メールに対応するべくフォルダの自動作成を考えているのですが、サンプルとなるようなソースも見つからずどうしたものかと悩んでいます。 Outlookのマクロでフォルダ作成は実現できるものなのでしょうか? できるのであればソースの例、もしくはサイト等を教えていただけないでしょうか。 よろしくお願いいたします。 なお、受信トレイと同階層にある振り分け用フォルダ内に年月のフォルダを作成したいです。

  • 日付のフォルダを自動で作成したい。

    特定のフォルダ内のデータを、日付のフォルダ(20030101)に自動で入れたいのですが、具体的な方法がわかりません。だれかお力添えをお願い致します。 自動で行いたい部分:  1.日付のフォルダを作成する。(20030203)  2.フォルダAのデータを1で作成したフォルダにコピーする。 環境:  OS : Windows2000

  • ファイルをフォルダに自動振り分け バッチファイル

    Cドライブ直下の"A"フォルダにある1,000件のCSVファイルをCドライブ直下に作成した5つのフォルダ"1~5"に自動振り分けしたいと思っています。 振り分け条件はExcelで管理しており、CSVのファイル名(1,000件分)と振り分け先のフォルダ名(1,000件それぞれ1~5のフォルダ)を入力してあります。 バッチファイルでMOVEを利用して自動振り分けできないか…と考えていますが、上手く行きません。 どなたか教えていただけないでしょうか。宜しくお願いします。