コマンドライン経由でファイルを移動しようとするとアクセスが拒否される

コマンドライン経由でファイルを移動しようとするとアクセスが拒否される

編集済み

サブフォルダーを別のサブフォルダーに移動する必要があります。このコマンドを使用すると、

move e:\rootfolder\sourcefolder c:\rootfolder\destfolder

分かりましたAccess is denied

ソース ドライブが e: で、宛先が c: であることに注目してください。最初の回答者が、これが cmd.exe の問題であると正しく回答したと思います。回答にマークを付けるまで、しばらく時間を置きます。

答え1

これは、ドライブ間でフォルダーを移動しようとしたときに予想される動作のようです (何らかの奇妙な理由により)。

http://technet.microsoft.com/en-us/library/hh849852.aspx

Move-Item は、同じプロバイダーによってサポートされているドライブ間でファイルを移動しますが、ディレクトリは同じドライブ内でのみ移動します。

リンクには Windows Powershell に適用されると書かれていますが、職場の XP マシンでテストしたところ、まったく同じ動作が見られました。そのため、cmd.exe にも適用されると思います。

答え2

7z.exe控えめに言っても回りくどい方法ですが、私は頻繁にこの状況に遭遇するので、速度に大きな違いがなく同じことを実現する解決策を思いつきました。ここ) がインストールされ、パスに追加されます。7z は高速なコマンドライン アーカイバなので、、などでも実行できtar.exeますgzip.exe

私は次のようなことをします:

7z a x:\destinationfolder\tmp.7z c:\directoryyouwanttomove && ^
7z x x:\destinationfolder\tmp.7z

これはかなり古い情報であり、OP の質問に具体的に答えているわけではないことは承知していますが、これを文書化したものをどこかで見つけるのは本当に大変でした。おそらく誰かの苦労を少しでも軽減できると思います。

関連情報