• ベストアンサー

dosのbatファイルでファイルを取得後、日付のフォルダをつくる。

dosのbatファイルでクライアントPCからファイルを取得後、自分自身のPC(サーバー側)に日付(yyyymmdd)のフォルダを自動的に作り格納する方法はないでしょうか?

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

  • ベストアンサー
  • gaktank
  • ベストアンサー率65% (23/35)
回答No.4

#3です。 日付のフォルダをmkdirで作りたい、ということであれば、 以下の方法でできます。 set nowdate = %date% mkdir %nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% なお、「~2,4」「~7,2」「~10,2」の部分は、Windows2000の場合、%date% の値が「火 yyyy/mm/dd」となるので、先頭2文字を削って4文字を抽出、・・・というようにしてyyyymmddを取得しています。 WinNT4.0の場合の%date%の値は分かりませんでしたので、もし上記と形式が異なっていたら「~m,n」の部分を変えてみてください。

nabepapa
質問者

補足

参考になりました。ありがとうございます。 上記の方法で日付フォルダを作成した後にファイルを格納する場合は下記の書式でよろしいのでしょうか? set nowdate = %date% mkdir %nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% (nt4.0で日付フォルダが出来たと仮定します。) copy aaa.txt %nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% で日付フォルダの格納されるのでしょうか?

その他の回答 (4)

  • gaktank
  • ベストアンサー率65% (23/35)
回答No.5

>日付フォルダを作成した後にファイルを格納する場合は > set nowdate = %date% > mkdir %nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% >copy aaa.txt %nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% そうですね。以下のようにすると少し見やすくなります。 set nowdate=%date% set nowdir=%nowdate:~2,4%%nowdate:~7,2%%nowdate:~10,2% mkdir %nowdir% copy aaa.txt %nowdir%

nabepapa
質問者

お礼

とても勉強になりました。近くの本屋にいっても 深く追求した本になかなかめぐり合いませんでした。 ありがとうございます。

  • gaktank
  • ベストアンサー率65% (23/35)
回答No.3

nabepapaさんの環境のOS/接続条件が分からないので、バッチ化する一般的なやり方を。 クライアントPCとサーバPC間で、 ・NetBIOS (ネットワークドライブ、共有フォルダなど) ・ftp、rcpなどのファイル転送サービス が使えればバッチファイルで自動化可能です。 前者は普通に「\\コンピュータ名\共有名」でファイルをコピー、後者はftpログインとftpコマンドをバッチファイルに書きます。 フォルダを作るのはmkdirでできますよね。

nabepapa
質問者

補足

ご返事、ありがとうございます。 操作する側がnt4.0で取得される側はlinaxです。 DOSのバッチファイルでLINAXからデータをnt4.0の方へは移動できたのですが そのファイルを日付のフォルダで管理したいのです。 今はファイルを取得後のmkdirで月のフォルダを作って管理していたのですが、より詳細に管理する必要になった為、日ごとのフォルダが必要になりました。

noname#8185
noname#8185
回答No.2

exe形式でよければ フリーソフトで作れば簡単です

参考URL:
http://www.onionsoft.net/hsp/
noname#8185
noname#8185
回答No.1

LAN形式で接続されていれば可能ですが。 dosだけでは無理ですかね。 \\ホスト名\共有フォルダの接続が出来れば制御方法は エクセルマクロとdosで知っていますが

nabepapa
質問者

補足

ご返事、ありがとうございます。 LAN間で接続されているPCから、ファイルを取得できたのですが その後の保存先として、日付のフォルダが必要のなりました。 macroとかはわからないので、DOSで出来る方法がありましたら、ご教授ください。

関連するQ&A