batch/CMD-verschieben funktioniert nicht mit Ordnern
Habe ich eine einfache .bat (verschieben.bat) - Datei im "SendTo" - Ordner verschiebt Dateien und Verzeichnisse von jedem Ort aus zu einem bestimmten Ordner über das Kontextmenü. Dies funktionierte unter XP. In Windows 7-wie bekomme ich einen Zugriff verweigert Fehler.
Es ist nicht einmal Arbeit mit cmd als admin geöffnet ("runas").
Inhalt verschieben.bat:
move %1 c:\specifiedfolder
- Scheitert es für alle Ordner? Sind Sie sicher, dass Sie Zugriff auf die Ordner der Fehler aufgetreten ist?
- Ja, es fällt für jeden Ordner. Ich volle Erlaubnis, Alle auf einem test-Ordner, aber es hat nicht funktioniert.
- Es funktioniert bei mir auf Windows 7. Sind Sie sicher, dass Sie Schreibzugriff auf
C:\specifiedfolder
? - ja, ich doppelt überprüft. Es funktioniert für einzelne Dateien, aber nicht für ein Verzeichnis
- Sie haben Autorität, um Ordner zu erstellen in
C:\specifiedfolder
? Haben Sie Berechtigung zum löschen der Quellordner? Was passiert, wenn Sie versuchen, verschieben Sie es mithilfe von Windows Explorer? - F1,f2: ja, F3: kann ich den Ordner verschieben ohne Probleme.
- Sie konnte vorübergehend, ersetzen Sie den Inhalt deiner batch-Datei mit dem folgenden
echo on && echo %CMDCMDLINE% && echo move %1 c:\specifiedfolder && pause
. Dann suchen Sie auf den Befehl als ausgeführt. Es gibt vielleicht einige Probleme mit Leerzeichen (die batch nicht verarbeitet), Verzeichnisse versucht, sich über die Bände (das ist nicht unterstützt durchmove
), etc. - Sie sollten diese -->
move "%~1" "c:\specifiedfolder"
zur Unterstützung von langen Dateinamen-Elemente, aber Sie können nicht erstellen Sie einen Ordner im Stammverzeichnis von C:\ als normaler Benutzer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Windows 7 müssen Sie die Stapelverarbeitung ausführen als administrator. Aber dann stellen Sie sicher, dass Sie dir zu homedir auf begginning des Skripts, coz aktuellen Verzeichnis wird anders werden als was es sein sollte, wenn Sie als admin ausgeführt..
Alternativ können Sie eine cmd-Fenster mit admin-rechten, dann können Sie Typ oder drag&drop batch-Dateien in...
ein anderer Weg, zu tun ist, um xcopy mit der option /R, dann die Quelle löschen... Oder einfach robocopy verwenden
aber immer noch müssen Sie die dele-übersprungene Dateien...
Versuchen, dem admin den Besitz übernehmen mit
takeown /F <filename>
(für Dateien) undtakeown /f <foldername> /r /d y
(für Ordner) und dann versuchen, verschieben Sie die Datei oder den Ordnernach der Einnahme von Besitz als admin-Datei, die Erlaubnis, die volle Kontrolle mit dem Dienstprogramm cacls
:
Ich hatte das gleiche Problem, also hab ein bisschen experimentiert.
Scheint es, dass, wie der Windows 7 ALLE offenes handle auf das Verzeichnis in windows bewirken, dass ein Zugriff verweigert. Dies schließt explorer öffnen, in das Verzeichnis, und Menschen mit diesem Verzeichnis über das Netzwerk.
Du kann verwenden Sie umbenennen, wenn Sie die Umbenennung eines Verzeichnisses, aber ansonsten hält der Pfad der gleiche. Dies funktioniert AUCH, wenn es gibt ein offenes handle wie ein explorer-Fenster öffnen, in das Verzeichnis (den Pfad innerhalb der Fenster wird aktualisiert)
Das ist eine gute Lösung, wenn Sie nur versuchen, um backup-Informationen, die als fail-safe, aber nicht alles, was Sie wahrscheinlich sind zu verwenden für automatisierte Netzwerk sichern etc.
wenn Sie die Berechtigungen-Einstellungen nicht funktioniert, dann ist es fast sicher ein offenes handle vom explorer eine ausführbare Datei ausgeführt wird aus diesem Verzeichnis oder etwas ähnliches Ding.
Überprüfen Sie, ob Ihre Dateien geöffnet sind, durch den system-Prozess.
Sollten Sie schließen Sie alle Dateien, bevor Sie den move-Befehl