Het did werkt, want het commando is ontworpen om te werken.
Je weet gewoon niet hoe het eigenlijk moet werken.
Je gebruikt geen Unix of Linux shell programma. Het cd
commando in Microsoft’s commandotolk gedraagt zich niet zoals de cd
commando’s in zulke shells. Het gedraagt zich iets anders. In het bijzonder het verandert niet altijd van directory. In Unix en Linux shells stelt cd
alleen de werkdirectory in. In Microsoft’s command interpreter, vraagt cd
er soms naar. Er is geen apart pwd
commando, dus cd
doet twee taken.
Als je het geen argumenten geeft, of een argument dat alleen een stationsletter en een dubbele punt zonder pad is, dan meldt it de huidige directory in plaats van deze te veranderen. Als je het geen argumenten geeft, rapporteert het de huidige directory van het huidige station van het commando interpreter proces. Als u het alleen een stationsletter en een dubbele punt als argument geeft, rapporteert het de huidige directory van het commando interpreterproces van dat station. Elk station heeft zijn eigen huidige directory in de command interpreter. (Dit is een fictie die wordt onderhouden door de run-time libraries voor de implementaties van verschillende programmeertalen van Microsoft en verschillende andere leveranciers. Win32 zelf werkt niet op deze manier.)
Dus toen je het d:
als argument gaf, meldde het de huidige directory van het commando interpreter proces op schijf D aan je, wat toevallig `D:## Het did werkt, want het commando is ontworpen om te werken.
Je weet gewoon niet hoe het eigenlijk moet werken.
Je gebruikt geen Unix of Linux shell programma. Het cd
commando in Microsoft’s commandotolk gedraagt zich niet zoals de cd
commando’s in zulke shells. Het gedraagt zich iets anders. In het bijzonder het verandert niet altijd van directory. In Unix en Linux shells stelt cd
alleen de werkdirectory in. In Microsoft’s command interpreter, vraagt cd
er soms naar. Er is geen apart pwd
commando, dus cd
doet twee taken.
Als je het geen argumenten geeft, of een argument dat alleen een stationsletter en een dubbele punt zonder pad is, dan meldt it de huidige directory in plaats van deze te veranderen. Als je het geen argumenten geeft, rapporteert het de huidige directory van het huidige station van het commando interpreter proces. Als u het alleen een stationsletter en een dubbele punt als argument geeft, rapporteert het de huidige directory van het commando interpreterproces van dat station. Elk station heeft zijn eigen huidige directory in de command interpreter. (Dit is een fictie die wordt onderhouden door de run-time libraries voor de implementaties van verschillende programmeertalen van Microsoft en verschillende andere leveranciers. Win32 zelf werkt niet op deze manier.)
Dus toen je het d:
als argument gaf, meldde het de huidige directory van het commando interpreter proces op schijf D aan je, wat toevallig was. Als je het geen enkel argument had gegeven, zou het `C:## Het did werkt, want het commando is ontworpen om te werken.
Je weet gewoon niet hoe het eigenlijk moet werken.
Je gebruikt geen Unix of Linux shell programma. Het cd
commando in Microsoft’s commandotolk gedraagt zich niet zoals de cd
commando’s in zulke shells. Het gedraagt zich iets anders. In het bijzonder het verandert niet altijd van directory. In Unix en Linux shells stelt cd
alleen de werkdirectory in. In Microsoft’s command interpreter, vraagt cd
er soms naar. Er is geen apart pwd
commando, dus cd
doet twee taken.
Als je het geen argumenten geeft, of een argument dat alleen een stationsletter en een dubbele punt zonder pad is, dan meldt it de huidige directory in plaats van deze te veranderen. Als je het geen argumenten geeft, rapporteert het de huidige directory van het huidige station van het commando interpreter proces. Als u het alleen een stationsletter en een dubbele punt als argument geeft, rapporteert het de huidige directory van het commando interpreterproces van dat station. Elk station heeft zijn eigen huidige directory in de command interpreter. (Dit is een fictie die wordt onderhouden door de run-time libraries voor de implementaties van verschillende programmeertalen van Microsoft en verschillende andere leveranciers. Win32 zelf werkt niet op deze manier.)
Dus toen je het d:
als argument gaf, meldde het de huidige directory van het commando interpreter proces op schijf D aan je, wat toevallig `D:## Het did werkt, want het commando is ontworpen om te werken.
Je weet gewoon niet hoe het eigenlijk moet werken.
Je gebruikt geen Unix of Linux shell programma. Het cd
commando in Microsoft’s commandotolk gedraagt zich niet zoals de cd
commando’s in zulke shells. Het gedraagt zich iets anders. In het bijzonder het verandert niet altijd van directory. In Unix en Linux shells stelt cd
alleen de werkdirectory in. In Microsoft’s command interpreter, vraagt cd
er soms naar. Er is geen apart pwd
commando, dus cd
doet twee taken.
Als je het geen argumenten geeft, of een argument dat alleen een stationsletter en een dubbele punt zonder pad is, dan meldt it de huidige directory in plaats van deze te veranderen. Als je het geen argumenten geeft, rapporteert het de huidige directory van het huidige station van het commando interpreter proces. Als u het alleen een stationsletter en een dubbele punt als argument geeft, rapporteert het de huidige directory van het commando interpreterproces van dat station. Elk station heeft zijn eigen huidige directory in de command interpreter. (Dit is een fictie die wordt onderhouden door de run-time libraries voor de implementaties van verschillende programmeertalen van Microsoft en verschillende andere leveranciers. Win32 zelf werkt niet op deze manier.)
Dus toen je het d:
als argument gaf, meldde het de huidige directory van het commando interpreter proces op schijf D aan je, wat toevallig was. Als je het geen enkel argument had gegeven, zou het aan je hebben gerapporteerd.
Als je wilt dat het cd
commando altijd in set mode staat en nooit in query mode moet je de /D
optie aan het commando toevoegen. Dit dwingt het commando om altijd in de instelmodus te zijn, en breidt het ook uit zodat het de huidige schijf verandert en de huidige directory van een schijf verandert. (Met andere woorden, het werkt meer zoals de onderliggende Win32 API eigenlijk doet.)
Dus, bijvoorbeeld, de opdrachtregel
cd /d d:
zal veranderen van directory naar wat de huidige directory op schijf D is, en ook de huidige schijf veranderen naar schijf D.
Als u het commando interpreterproces’ huidige schijf anders wilt veranderen, is het cd
-commando niet de manier. U doet dit door eenvoudigweg de stationsletter en een dubbele punt te typen:
d:
Verdere lezing
- JP Software (2011). CD/CHDIR TCC On-line Help.
- Microsoft corporation (2001). Chdir (CD) . TechNet Windows XP Commandolijnreferentie A-Z.