E ha fatto il lavoro, come il comando è progettato per funzionare.
Semplicemente non sai come dovrebbe effettivamente funzionare.
Non stai usando un programma shell Unix o Linux. Il cdcomando nell'interprete dei comandi di Microsoft non si comporta come i cdcomandi in tali shell. Si comporta in modo leggermente diverso. In particolare, non cambia sempre la directory . Nelle shell Unix e Linux, cdimposta sempre e solo la directory di lavoro. Nell'interprete dei comandi di Microsoft, a cdvolte lo interroga. Non esiste un pwdcomando separato , quindi cddue lavori.
Se non gli dai argomenti o un argomento che è solo una lettera di unità e due punti senza un percorso, allora segnala la directory corrente invece di cambiarla . Se non si forniscono argomenti, viene indicata la directory corrente dell'unità corrente del processo dell'interprete dei comandi. Se si fornisce solo una lettera di unità e due punti come argomento, viene indicata la directory corrente del processo dell'interprete dei comandi di tale unità. Ogni unità ha la propria directory corrente nell'interprete dei comandi. (Questa è una finzione gestita dalle librerie di runtime per le implementazioni di Microsoft e di altri fornitori di vari linguaggi di programmazione. Win32 stesso non funziona in questo modo.)
Quindi, quando lo hai fornito d:come argomento, ti ha riportato la directory corrente del processo dell'interprete dei comandi sull'unità D, che è accaduto D:\. Se non gli avessi dato alcun argomento, te lo avrebbe riferito C:\.
Se si desidera che il cdcomando sia sempre in modalità impostata e mai in modalità query, è necessario aggiungere l' /Dopzione ad esso. Ciò impone che il comando sia sempre in modalità impostata e lo estende anche in modo da modificare l'unità corrente e modificare la directory corrente di un'unità. (In altre parole, funziona più come l'API Win32 sottostante in realtà.)
Quindi, ad esempio, la riga di comando
cd / dd:
cambierà la directory a qualunque sia la directory corrente sull'unità D e cambierà anche l'unità corrente sull'unità D.
Se si desidera modificare diversamente il processo corrente dell'interprete dei comandi 'unità corrente, il cdcomando non è il modo. Puoi farlo semplicemente digitando la lettera di unità e i due punti:
d:
Ulteriori letture
- JP Software (2011). Guida in linea di CD / CHDIR TCC.
- Microsoft Corporation (2001). Chdir (CD) . TechNet Windows XP Riferimento da riga di comando A – Z.
pushdal posto dicdpraticamente ovunque in quanto si comporta molto meglio in situazioni come questa.