Qual è la differenza tra “C: FILE.TXT” e “C: \ FILE.TXT”?


13

Qual è la differenza tra " C:FILE.TXT" e " C:\FILE.TXT"?

Sono gli stessi?

Risposte:


26

C:FILE.TXTsi riferisce alla FILE.TXTdirectory corrente dell'unitàC:

C:\FILE.TXTsi riferisce FILE.TXTnella directory principale di drive C:( C:\)

Non sono gli stessi.

Modifica: Esempio di prompt dei comandi:

Windows ricorda una directory di lavoro corrente per ogni unità. Supponiamo che tu stia lavorando nella directory C:\UTILSe poi cambi a drive F:e poi a directory BINsu F::

C: \ UTILS> F:
 F: \> CD BIN
 F: \ BIN>

A questo punto la directory di lavoro corrente per C:è ferma C:\UTILSe la directory di lavoro corrente per F:èF:\BIN

Puoi verificarlo con il CDcomando:

F: \ BIN> CD C:
C: \ Utils

F: \ BIN>

Si noti che non è stato ripristinato il funzionamento dell'unità di lavoro C:utilizzando questo comando.

Come vedrai dai seguenti esempi di comandi, l'uso di una barra rovesciata ( \) immediatamente dopo il nome di un'unità ( X:) rende assoluta la posizione del file. L'ommissione della barra rovesciata comporta automaticamente la directory di lavoro corrente per l'unità.

F: \ BIN> COPIA F: PROGRAM.EXE C:     Copia * F: \ BIN \ PROGRAM.EXE in C: \ UTILS \ PROGRAM.EXE 
F: \ BIN> COPIA F: PROGRAM.EXE C: \    Copie * F: \ BIN \ PROGRAM.EXE in C: \ PROGRAM.EXE 
F: \ BIN> COPIA F: \ PROGRAM.EXE C:    Copia * F: \ PROGRAM.EXE in C: \ UTILS \ PROGRAM.EXE

F: \ BIN> COPIA F: PROGRAM.EXE C: NEW \ NEW_PROG.EXE    Copia * e rinomina
                                                F: \ BIN \ Program.exe
                                                in C: \ BIN \ NEW \ NEW_PROG.EXE
 

* 'Copie' significa 'tentativi di copia'. Questi comandi falliranno se le strutture di directory presunte e le directory di lavoro correnti non esistono o vengono modificate da un altro processo.

Nel caso in cui la directory di lavoro sia la directory radice (ad es. C:\), Quindi, C:PROGRAM.EXEe C:\PROGRAM.EXEpuntare alla stessa posizione, ma sono stati raggiunti con metodi diversi.


2
In realtà possono essere uguali se la directory corrente di C: è la radice.
Synetech,

3
@Synetech; Solo perché possono riferirsi allo stesso posto non significa che siano la stessa cosa
Phoshi,

Si noti che Windows NT non tiene più traccia delle "directory correnti" per unità; questa sintassi è ora utile solo nella cmd.exeshell. In altri programmi, se viene fornita un'unità diversa dalla corrente, tali specifiche del percorso saranno sempre relative alla radice dell'unità.
user1686

@Phoshi, sì, sono gli stessi in determinati contesti. È come dire che int xè lo stesso di int y; non sono ===, ma possono essere == se entrambi hanno lo stesso valore. @grawity, ovviamente le app di Windows (Win32, non solo NT) non hanno un CWD per unità poiché non significherebbe nulla in quel contesto. Indipendentemente da ciò, non è solo cmd; tutte le app della console ce l'hanno .
Synetech,

@Mike in realtà dopo aver letto la risposta non riesco ancora a capire la differenza. potresti elaborarlo per un utente stupido?
Pacerier,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.