Wechseln Sie zu Laufwerksbuchstaben
Um zu einem bestimmten Laufwerksbuchstaben zu wechseln, während das Eingabeaufforderungsverzeichnis einen anderen Laufwerksbuchstaben verwendet als den, zu dem Sie wechseln müssen, verwenden Sie einfach den /D
Parameter mit dem CD- Befehl (z. B. CD /D <DriveLetter>:
), um zu einem anderen Laufwerksbuchstaben zu wechseln, bevor Sie fortlaufende Befehle ausführen.
Delims
Sie sollten die Verwendung der FORdelims="
in der FOR- Schleife auslassen, da dies bedeutet, dass Leerzeichen kein Trennzeichen sind. Dies ist nicht das, was Sie cr/cr/lf
gemäß LotPings- Kommentar verhindern möchten .
FOR /?
delims=xxx - specifies a delimiter set. This replaces the default delimiter set of space and tab.
Da es die Standardbegrenzung für Leerzeichen und Tabulatoren angibt, wenn Sie delims="
genau das mit dem abschließenden doppelten Anführungszeichen nach dem Gleichheitszeichen setzen, bedeutet dies ="
, dass jetzt keine Trennzeichen vorhanden sind.
Kompakt
Da Compact läuft gegen Dateien im Verzeichnis ohne den Pfad in einem Argumente zu spezifizieren, falls zutreffend, können Sie zunächst CD /D <Letter>:
und führen Sie dann Compact /C
alle Dateien in einem Verzeichnis zu komprimieren, oder Compact /C /S
alle Dateien und Ordner rekursiv in dem Verzeichnis zu verdichten.
Batch-Skript
for /f "skip=1" %%x in ('wmic logicaldisk get caption') do ( CD /D %%x Compact /C /S <Next or other command> )
Hinweis: Der Laufwerkbuchstabe wird in einem
<letter>:
Format aufgeführt, zH:
. Funktioniert alsoCD /D H:
gut. Sie werden natürlich das\
am Ende der Iteration hinzufügen,%%x
dh%%x\
wenn Sie einen Pfad anhängen müssen, um einen vollständigen Pfad (%%x\folder\path
) als Befehlsargument zu verwenden, zdir %%x\folder\path
.
Weitere Ressourcen
-
Key /D : change the current DRIVE in addition to changing folder.
-
Key /C Compress the specified files. Directories will be marked so that files added afterward will be compressed. /S Perform the specified operation on files in the given directory and all subdirectories. Default "dir" is the current directory.
Ich brauche eine .bat für compact.exe und ignoriere Dateitypen?