人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MS-DOSの環境で、以下のことを実施したいと考えています。OSはwin7でVersion 6.1.7601です。

あるドライブのcccにある、当日日付以外の「フォルダのみ」を同ディレクトリのoldに移動させたい。

一つ前のccc配下へ移動する場合は「for /D %%a in (*) do move %%a ..」で終わります。
文字列の判定であれば「MOVE /Y 20* old」にするとファイルも移動させてしまい、同一ディレクトリに
あるフォルダのみをoldに移動する方法が思いつきません。発想が乏しくすみません。一手ご教授ください。


条件:
OS:window7
言語:できればDOSコマンド、もしくはteraterm。

treeの状態
Z:.
├─aaa
├─bbb
├─ccc
│ ├─old
│ ├─20150301
│ │ ├─0301.log
│ │ └─0301.txt
│ ├─20150302
│ │ ├─0302.log
│ │ └─0302.txt
│ ├─20150303
│ ├─201503_xxx.txt
│ ├─2015_yyy.xls

この内、20150301、20150302、20150303のフォルダのみoldに移動させる。
日付フォルダ配下のtxtや、logも纏めて移動させる。

どうぞよろしくお願いします。

●質問者: vw0920
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● TransFreeBSD
  1. z:直下にテンポラリディレクトリを作る
  2. その中に一旦全部のディレクトリを移動
  3. oldと当日日付ディレクトリだけ元に再移動
  4. テンポラリディレクトリの中身全部をoldに移動

で、どうでしょう?


vw0920さんのコメント
返信遅くなりました。 やはり直接フォルダだけを移動させる方法はないでしょうか。 一応このパターンのbatchは稼働できました。 もっといい方法はあると思うのですが、もう少し悩んでみます。

2 ● vorfee
ベストアンサー

UNIXのコマンドですがどうでしょうか

find . ! -path . -type d ! -name $(date +%Y%m%d) -a ! -name old | xargs -I{} mv {} old
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ