Dosコマンドのrenameは変更後の名称にパスをつけるとエラーになる

2015年10月27日火曜日

t f B! P L
Dosコマンドをいじる事はめったにないので、よく使っていた頃に常識だったことを忘れてしまっています。
今回は、ディレクトリ名変更のためにRenameを使った際に「コマンドの構文が誤っています。」エラーが出てかなり迷ってしまいました。

E:ドライブのディレクトリ t3 を t4に変更しようとしてエラー



t4をフルパス(e:\t4)で指定したのが原因。 
パス無しで行うとエラーは発生せず、 e:\t3が e:\t4 に正常に変更されます。






やりたかったのは1日1回ディレクトリをバックアップ(xopy)する事。 その際に過去2日分の古いディレクトリは名前を変えて保存しておく。 
これをbatファイルで作成

rd /s/q e:\old3
rename e:\old2 old3
ren e:\old1 old2
xcopy /i/q/s c:\new e:\old1


  • 1行目:一番古いold3を削除。
    • /s ディレクトリ内にサブディレクトリがあれば、その中のファイルもすべて削除
    • /q 確認のメッセージ非表示
  • 2行目:old2 を old3にディレクトリ名変更
  • 3行目:old1 を old2にディレクトリ名変更
  • 4行目:c:\new ディレクトリを e:\old1 にコピー
    • /i ディレクトリが存在しない場合、その名前をディレクトリ名として扱い、そのディレクトリ内にコピー
    • /q コピー中にファイル名非表示
    • /s サブディレクトリもコピー。空のディレクトリはコピーしない
スポンサーリンク

このブログを検索

QooQ