Was ist der Unterschied zwischen " C:FILE.TXT
" und " C:\FILE.TXT
"?
Sind sie gleich
quelle
Was ist der Unterschied zwischen " C:FILE.TXT
" und " C:\FILE.TXT
"?
Sind sie gleich
C:FILE.TXT
verweist auf FILE.TXT
im aktuellen Verzeichnis des LaufwerksC:
C:\FILE.TXT
verweist auf FILE.TXT
im Stammverzeichnis von drive C:
( C:\
)
Sie sind nicht gleich.
Bearbeiten: Eingabeaufforderung Beispiel:
Windows merkt sich für jedes Laufwerk ein aktuelles Arbeitsverzeichnis. Angenommen, Sie arbeiten im Verzeichnis C:\UTILS
und wechseln dann zum Laufwerk F:
und dann zum Verzeichnis BIN
auf F:
:
C: \ UTILS> F: F: \> CD-BIN F: \ BIN>
Zu diesem Zeitpunkt ist das aktuelle Arbeitsverzeichnis für C:
noch C:\UTILS
und das aktuelle Arbeitsverzeichnis für F:
istF:\BIN
Sie können dies mit dem folgenden CD
Befehl überprüfen :
F: \ BIN> CD C: C: \ UTILS F: \ BIN>
Beachten Sie, dass Sie das Arbeitslaufwerk C:
mit diesem Befehl nicht wieder auf geändert haben .
Wie Sie in den folgenden Befehlsbeispielen sehen werden, macht die Verwendung eines Backslash ( \
) unmittelbar nach einem Laufwerksnamen ( X:
) den Dateispeicherort absolut. Das Umgehen des Backslashs bezieht automatisch das aktuelle Arbeitsverzeichnis für das Laufwerk mit ein.
F: \ BIN> COPY F: PROGRAM.EXE C: Kopien * F: \ BIN \ PROGRAM.EXE bis C: \ UTILS \ PROGRAM.EXE F: \ BIN> COPY F: PROGRAM.EXE C: \ Kopien * F: \ BIN \ PROGRAM.EXE nach C: \ PROGRAM.EXE F: \ BIN> COPY F: \ PROGRAM.EXE C: Kopiert * F: \ PROGRAM.EXE nach C: \ UTILS \ PROGRAM.EXE F: \ BIN> COPY F: PROGRAM.EXE C: NEW \ NEW_PROG.EXE Kopiert * und benennt um F: \ BIN \ PROGRAM.EXE zu C: \ BIN \ NEW \ NEW_PROG.EXE
* 'Kopien' bedeutet 'Kopierversuche'. Diese Befehle schlagen fehl, wenn die angenommenen Verzeichnisstrukturen und aktuellen Arbeitsverzeichnisse nicht vorhanden sind oder von einem anderen Prozess geändert werden.
In dem Fall, dass das Arbeitsverzeichnis ist das Stammverzeichnis (z. C:\
) Dann C:PROGRAM.EXE
und C:\PROGRAM.EXE
auf die gleiche Stelle, aber sie haben mit verschiedenen Methoden bei angekommen waren.
cmd.exe
Shell nützlich . Wenn in anderen Programmen ein anderes Laufwerk als das aktuelle angegeben wird, beziehen sich diese Pfadangaben immer auf das Stammverzeichnis dieses Laufwerks.int x
ist dasselbe wieint y
; Sie sind nicht ===, können aber == sein, wenn beide den gleichen Wert haben. @grawity, natürlich haben Windows-Apps (Win32, nicht nur NT) kein CWD pro Laufwerk, da dies in diesem Zusammenhang nichts bedeuten würde. Unabhängig davon ist es nicht nur cmd; Alle Konsolen-Apps haben es .