Ha funzionato, perché il comando è progettato per funzionare.
Semplicemente non sai come dovrebbe funzionare.
Non stai usando un programma di shell Unix o Linux. Il comando cd
nell'interprete di comandi di Microsoft non si comporta come i comandi cd
in tali shell. Si comporta in modo un po’ diverso. In particolare, non sempre cambia directory. Nelle shell di Unix e Linux, cd
imposta solo la directory di lavoro. Nell'interprete di comandi di Microsoft, cd
a volte la interroga. Non c'è un comando pwd
separato, quindi cd
fa due lavori.
Se non gli si dà alcun argomento, o un argomento che è solo una lettera di unità e due punti senza un percorso, allora it riporta la directory corrente invece di cambiarla. Se non gli si forniscono argomenti, riporta la directory corrente dell'unità corrente del processo dell'interprete di comando. Se gli si dà solo una lettera di unità e due punti come argomento, riporta la directory corrente del processo dell'interprete di comandi del processo corrente di quell'unità. Ogni unità ha il proprio repertorio corrente nell'interprete di comandi. (Si tratta di una fiction mantenuta dalle librerie di run-time per le implementazioni di Microsoft e di diversi altri fornitori di vari linguaggi di programmazione. Win32 di per sé non funziona in questo modo).)
Quindi, quando gli avete dato d:
come argomento, vi ha riportato la directory corrente del processo dell'interprete di comandi sul drive D, che per caso era `D:## Ha funzionato, perché il comando è progettato per funzionare.
Semplicemente non sai come dovrebbe funzionare.
Non stai usando un programma di shell Unix o Linux. Il comando cd
nell'interprete di comandi di Microsoft non si comporta come i comandi cd
in tali shell. Si comporta in modo un po’ diverso. In particolare, non sempre cambia directory. Nelle shell di Unix e Linux, cd
imposta solo la directory di lavoro. Nell'interprete di comandi di Microsoft, cd
a volte la interroga. Non c'è un comando pwd
separato, quindi cd
fa due lavori.
Se non gli si dà alcun argomento, o un argomento che è solo una lettera di unità e due punti senza un percorso, allora it riporta la directory corrente invece di cambiarla. Se non gli si forniscono argomenti, riporta la directory corrente dell'unità corrente del processo dell'interprete di comando. Se gli si dà solo una lettera di unità e due punti come argomento, riporta la directory corrente del processo dell'interprete di comandi del processo corrente di quell'unità. Ogni unità ha il proprio repertorio corrente nell'interprete di comandi. (Si tratta di una fiction mantenuta dalle librerie di run-time per le implementazioni di Microsoft e di diversi altri fornitori di vari linguaggi di programmazione. Win32 di per sé non funziona in questo modo).)
Quindi, quando gli avete dato d:
come argomento, vi ha riportato la directory corrente del processo dell'interprete di comandi sul drive D, che per caso era . Se non gli aveste dato alcun argomento, vi avrebbe riportato `C:## Ha funzionato, perché il comando è progettato per funzionare.
Semplicemente non sai come dovrebbe funzionare.
Non stai usando un programma di shell Unix o Linux. Il comando cd
nell'interprete di comandi di Microsoft non si comporta come i comandi cd
in tali shell. Si comporta in modo un po’ diverso. In particolare, non sempre cambia directory. Nelle shell di Unix e Linux, cd
imposta solo la directory di lavoro. Nell'interprete di comandi di Microsoft, cd
a volte la interroga. Non c'è un comando pwd
separato, quindi cd
fa due lavori.
Se non gli si dà alcun argomento, o un argomento che è solo una lettera di unità e due punti senza un percorso, allora it riporta la directory corrente invece di cambiarla. Se non gli si forniscono argomenti, riporta la directory corrente dell'unità corrente del processo dell'interprete di comando. Se gli si dà solo una lettera di unità e due punti come argomento, riporta la directory corrente del processo dell'interprete di comandi del processo corrente di quell'unità. Ogni unità ha il proprio repertorio corrente nell'interprete di comandi. (Si tratta di una fiction mantenuta dalle librerie di run-time per le implementazioni di Microsoft e di diversi altri fornitori di vari linguaggi di programmazione. Win32 di per sé non funziona in questo modo).)
Quindi, quando gli avete dato d:
come argomento, vi ha riportato la directory corrente del processo dell'interprete di comandi sul drive D, che per caso era `D:## Ha funzionato, perché il comando è progettato per funzionare.
Semplicemente non sai come dovrebbe funzionare.
Non stai usando un programma di shell Unix o Linux. Il comando cd
nell'interprete di comandi di Microsoft non si comporta come i comandi cd
in tali shell. Si comporta in modo un po’ diverso. In particolare, non sempre cambia directory. Nelle shell di Unix e Linux, cd
imposta solo la directory di lavoro. Nell'interprete di comandi di Microsoft, cd
a volte la interroga. Non c'è un comando pwd
separato, quindi cd
fa due lavori.
Se non gli si dà alcun argomento, o un argomento che è solo una lettera di unità e due punti senza un percorso, allora it riporta la directory corrente invece di cambiarla. Se non gli si forniscono argomenti, riporta la directory corrente dell'unità corrente del processo dell'interprete di comando. Se gli si dà solo una lettera di unità e due punti come argomento, riporta la directory corrente del processo dell'interprete di comandi del processo corrente di quell'unità. Ogni unità ha il proprio repertorio corrente nell'interprete di comandi. (Si tratta di una fiction mantenuta dalle librerie di run-time per le implementazioni di Microsoft e di diversi altri fornitori di vari linguaggi di programmazione. Win32 di per sé non funziona in questo modo).)
Quindi, quando gli avete dato d:
come argomento, vi ha riportato la directory corrente del processo dell'interprete di comandi sul drive D, che per caso era . Se non gli aveste dato alcun argomento, vi avrebbe riportato .
Se volete che il comando cd
sia sempre in modalità set e non sia mai in modalità query dovete aggiungervi l'opzione /D
. Questo costringe il comando ad essere sempre in modalità set, e lo estende anche in modo da cambiare l'unità corrente e cambiare la directory corrente di un'unità. (In altre parole, funziona più come la sottostante API Win32)
Quindi, per esempio, la riga di comando
cd /d d:
cambierà la directory in qualsiasi directory sia la directory corrente sull'unità D, e cambierà anche l'unità corrente in D.
Se si vuole cambiare l'unità corrente del processo dell'interprete di comando, altrimenti, il comando cd
non è il modo. Lo si fa semplicemente digitando la lettera dell'unità e i due punti:
d:
Ulteriore lettura