Jaka jest różnica między „ C:FILE.TXT
” a „ C:\FILE.TXT
”?
Czy oni są tacy sami?
Jaka jest różnica między „ C:FILE.TXT
” a „ C:\FILE.TXT
”?
Czy oni są tacy sami?
C:FILE.TXT
odnosi się do FILE.TXT
bieżącego katalogu dyskuC:
C:\FILE.TXT
odnosi się do FILE.TXT
katalogu głównego drive C:
( C:\
)
One nie są takie same.
Edycja: wiersz polecenia Przykład:
Windows zapamiętuje bieżący katalog roboczy dla każdego dysku. Załóżmy, że pracujesz w katalogu, C:\UTILS
a następnie zmieniasz na dysk, F:
a następnie na katalog BIN
na F:
:
C: \ UTILS> F: F: \> CD BIN F: \ BIN>
W tym momencie bieżący katalog roboczy C:
jest nadal, C:\UTILS
a bieżącym katalogiem roboczym F:
jestF:\BIN
Możesz to sprawdzić za pomocą CD
polecenia:
F: \ BIN> CD C: C: \ UTILS F: \ BIN>
Zauważ, że nie zmieniłeś ponownie działającego napędu C:
za pomocą tego polecenia.
Jak widać z poniższych przykładów poleceń, użycie odwrotnego ukośnika ( \
) bezpośrednio po nazwie napędu ( X:
) powoduje, że położenie pliku jest bezwzględne. Ommiting odwrotnego ukośnika automatycznie obejmuje bieżący katalog roboczy dla dysku.
F: \ BIN> COPY F: PROGRAM.EXE C: Kopiuje * F: \ BIN \ PROGRAM.EXE do C: \ UTILS \ PROGRAM.EXE F: \ BIN> COPY F: PROGRAM.EXE C: \ Kopiuje * F: \ BIN \ PROGRAM.EXE do C: \ PROGRAM.EXE F: \ BIN> COPY F: \ PROGRAM.EXE C: Kopiuje * F: \ PROGRAM.EXE do C: \ UTILS \ PROGRAM.EXE F: \ BIN> COPY F: PROGRAM.EXE C: NEW \ NEW_PROG.EXE Kopiuje * i zmienia nazwy F: \ BIN \ PROGRAM.EXE do C: \ BIN \ NEW \ NEW_PROG.EXE
* „Kopie” oznaczają „próby kopiowania”. Te polecenia zakończą się niepowodzeniem, jeśli założone struktury katalogów i bieżące katalogi robocze nie istnieją lub zostaną zmienione przez inny proces.
W przypadku, gdy katalog roboczy jest katalogiem głównym (np. C:\
), To C:PROGRAM.EXE
i C:\PROGRAM.EXE
punkt w tej samej lokalizacji, ale zostały one przybył różnymi metodami.
cmd.exe
powłoce. W innych programach, jeśli podany zostanie dysk inny niż bieżący, takie specyfikacje ścieżki będą zawsze zależały od katalogu głównego tego dysku.int x
to samo coint y
; nie są ===, ale mogą być ==, jeśli oba mają tę samą wartość. @grawity, oczywiście aplikacje Windows (Win32, nie tylko NT) nie mają cwd na dysk, ponieważ w tym kontekście nic by to nie znaczyło. Niezależnie od tego, nie chodzi tylko o cmd; wszystkie aplikacje na konsolę mają to .