Zugriff verweigert beim Versuch, eine Datei über die Befehlszeile zu verschieben

Zugriff verweigert beim Versuch, eine Datei über die Befehlszeile zu verschieben

Herausgegeben

Ich muss einen Unterordner in einen anderen Unterordner verschieben. Wenn ich diesen Befehl verwende:

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

Ich bekomme Access is denied.

Beachten Sie, dass das Quelllaufwerk e: und das Ziel c: ist. Ich glaube, der erste Antwortende hatte recht, dass dies das Problem mit cmd.exe ist. Ich werde etwas Zeit warten, bevor ich ihre Antwort markiere.

Antwort1

Dies scheint (aus irgendeinem seltsamen Grund) das erwartete Verhalten beim Versuch zu sein, Ordner zwischen Laufwerken zu verschieben.

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

Move-Item verschiebt Dateien zwischen Laufwerken, die vom gleichen Anbieter unterstützt werden, verschiebt jedoch nur Verzeichnisse innerhalb desselben Laufwerks.

Ich weiß, dass der Link besagt, dass es für Windows Powershell gilt, aber ich habe es gerade auf meinem XP-Rechner hier bei der Arbeit getestet und sehe genau dasselbe Verhalten, also glaube ich, dass es auch für cmd.exe gilt.

Antwort2

Es ist, gelinde gesagt, eine umständliche Methode, aber da ich dies häufig begegne, habe ich eine Lösung gefunden, die dasselbe ohne großen Geschwindigkeitsunterschied erreicht. Erfordert, dass Sie 7z.exe(kann heruntergeladen werden)Hiertar.exe) installiert und zu Ihrem Pfad hinzugefügt. 7z ist ein schnelles Befehlszeilen-Archivierungsprogramm, daher könnte dies auch mit , gzip.exe, usw. erfolgen.

Ich mache so etwas wie das Folgende:

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

Mir ist bewusst, dass das schon viel älter ist, und ich beantworte hier nicht speziell die Frage des OPs, aber es war wirklich schwierig, irgendwo eine Dokumentation dazu zu finden, und vielleicht konnte ich jemandem einiges an Ärger ersparen.

verwandte Informationen