Knowledge

Working directory

Source 📝

344:
Under DOS, the absolute paths of the working directories of all logical volumes are internally stored in an array-like data structure called the Current Directory Structure (CDS), which gets dynamically allocated at boot time to hold the necessary number of slots for all logical drives (or as defined
268:(for "Batch"). This modifies the output of commands to become suitable for direct command line input (when redirecting it into a batch file) or usage as a parameter for other commands (using it as input for another command). Where 835:(NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger 349:). This structure imposes a length-limit of 66 characters on the full path of each working directory, and thus implicitly also limits the maximum possible depth of subdirectories. 623: 798: 434:
with a path to the new directory, either absolute or relative to the old one. Where available, it can be called by a process to set its working directory.
796: 246:
command omitting the terminating linefeed. This can be used to create a temporary batchjob storing the working directory in an environment variable like
767:
Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1
922: 686: 1031: 1000: 839:
collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the
889: 823: 959: 725: 62:), the reference is interpreted relative to the working directory of the process. So for example a process with working directory 790: 844: 819:
NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds
301:
command To keep the prompt short even inside of deep subdirectory structures, the DR-DOS 7.07 COMMAND.COM supports a
780: 402: 1072: 346: 182: 615: 409:
functions of the operating system, including the ability to set (change) the working directory of the program.
156: 449: 178: 147:
command outputs a full pathname of the working directory; the equivalent command in DOS and Windows is
676: 1019: 988: 910: 711: 385:(with BDOS 7.0) and DR DOS 6.0 (1992 update with BDOS 7.1) and higher switched to use a CDS for 1015: 984: 885:
NWDOS7UN.TXT — Zusammenfassung der dokumentierten und undokumentierten Fähigkeiten von Novell DOS 7
521: 36: 32: 601: 883: 817: 107: 87: 943: 529: 479: 735: 398: 297: 171: 8: 134: 28: 951: 765: 242: 119: 389:
with DOS programs as well, they faced the same limitations as present in other DOSes.
1056: 786: 776: 525: 386: 223: 111: 955: 517: 431: 55: 253:
ECHOS SET CD=> SETCD.BAT CHDIR >> SETCD.BAT CALL SETCD.BAT DEL SETCD.BAT
1055: – a software package that tracks commonly used directories in a 288:
would create a temporary batchjob allowing to return to this directory later on.
130: 918: 772: 576: 474: 469: 366: 164: 59: 1052: 222:
etc.) can be used in scripts, so that one need not start an external program.
39:, if any, dynamically associated with the process. It is sometimes called the 1066: 855: 760: 731: 682: 579:
messages or delays when trying to retrieve the path of a non-inserted floppy.
496: 257: 226: 92:
In most computer file systems, every directory has an entry (usually named "
944:"JDK-4045688: Add chdir or equivalent notion of changing working directory" 438: 124: 83: 859: 659:; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 305:
token to display only the deepest subdirectory level. So, where a default
656: 560: 427: 406: 261: 233: 219: 187: 361:
6.7 in 1991) had no such limitation due to their implementation using a
678:
DR-DOS 7.03 WHATSNEW.TXT — Changes from DR-DOS 7.02 to DR-DOS 7.03
652: 490: 413: 354: 264:
and higher, various internal and external commands support a parameter
138: 54:. When a process refers to a file using a simple file name or relative 1027: 996: 660: 619: 20: 882:
Paul, Matthias R. (1997-06-07) . "Chapter 1.3.xi: Überlange Pfade".
572: 350: 863: 382: 370: 191: 115: 911:"The Open Group Base Specifications Issue 6 and IEEE Std 1003.1" 754: 752: 437:
There are similar functions in other languages. For example, in
557: 533: 484: 373:-)derived kernel, which internally organized subdirectories as 362: 749: 417: 914: 358: 338: 215: 211: 104: 758: 143: 100: 44: 763:; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) . 524:
but have no concept of "working directory"; for example
430:
which changes the working directory. Its argument is a
58:(as opposed to a file designated by a full path from a 650: 989:"Why does each drive have its own current directory?" 877: 875: 873: 811: 809: 807: 805: 452:, the working directory can be obtained through the 163:
used without arguments takes the user back to their
122:, the working directory can be changed by using the 1020:"What are these strange =C: environment variables?" 870: 802: 764: 669: 616:"Microsoft Windows – SetCurrentDirectory function" 608: 229:have the ability to store the working directory. 1064: 718: 708:CCI Multiuser DOS 7.22 GOLD Online Documentation 646: 644: 642: 640: 460:class. The working directory cannot be changed. 848: 291:The working directory is also displayed by the 795:(xviii+856+vi pages, 3.5-inch floppy) Errata: 637: 700: 544: 542: 392: 377:links to parent directories instead of as 329:, respectively. A similar facility (using 96:") which points to the directory itself. 539: 353:and older issues of DR DOS (up to 77: 1065: 771:(2 ed.). Reading, Massachusetts: 571:except for that it gets suppressed on 510: 854: 822:. MPDOSTIP (in German) (3 ed.). 593: 16:Computer file system currently in use 1014: 983: 903: 881: 815: 936: 13: 977: 858:; et al., eds. (2000-07-16). 493:(a different, but related concept) 272:would issue a directory path like 14: 1084: 1046: 816:Paul, Matthias R. (1997-07-30) . 1053:Working Directory (wd) at Github 1034:from the original on 2018-05-27 1003:from the original on 2016-04-12 962:from the original on 2017-10-19 925:from the original on 2018-02-09 892:from the original on 2016-11-07 826:from the original on 2017-09-10 689:from the original on 2019-04-08 626:from the original on 2018-05-27 194:, but not in OS/2 and DOS), or 177:(in Unix/Linux shells), or the 41:current working directory (CWD) 913:(Issue 6, 2004 ed.). The 727:Caldera DR-DOS 7.02 User Guide 70:will end up creating the file 1: 860:"Ralf Brown's Interrupt List" 586: 66:that asks to create the file 714:(CCI). 1997-02-10. HELP.HLP. 250:for later use, for example: 179:pseudo-environment variables 7: 463: 10: 1089: 456:interface, or through the 114:command line interpreters 81: 712:Concurrent Controls, Inc. 888:. MPDOSTIP (in German). 552:works as alternative to 522:hierarchical file system 503: 393:In programming languages 286:CHDIR /B > RETDIR.BAT 37:hierarchical file system 1073:File system directories 441:it is usually spelled 88:operating system shell 734:1998 . Archived from 662:4DOS 8.00 online help 399:programming languages 387:maximum compatibility 309:would result f.e. in 256:Alternatively, under 82:Further information: 72:/rabbit-shoes/foo.txt 321:would instead yield 236:and higher provides 172:environment variable 110:, as well as in the 78:In operating systems 548:In the same way as 240:, a variant of the 759:Schulman, Andrew; 651:Brothers, Hardin; 575:in order to avoid 454:java.nio.file.Path 159:(whereas in Unix, 120:Windows PowerShell 50:function, or just 1024:The New Old Thing 993:The New Old Thing 791:978-0-201-63287-3 526:Texas Instruments 518:operating systems 319:PROMPT $ N:$ W$ G 284:instead, so that 276:, a command like 224:Microsoft Windows 112:Microsoft Windows 52:current directory 25:working directory 1080: 1042: 1040: 1039: 1011: 1009: 1008: 971: 970: 968: 967: 958:). 2008-08-18 . 956:Sun Microsystems 940: 934: 933: 931: 930: 907: 901: 900: 898: 897: 879: 868: 867: 852: 846: 842: 838: 834: 832: 831: 813: 800: 794: 770: 756: 747: 746: 744: 743: 722: 716: 715: 704: 698: 697: 695: 694: 673: 667: 666: 648: 635: 634: 632: 631: 612: 606: 605: 604: 597: 580: 546: 537: 514: 459: 455: 444: 424: 328: 324: 316: 315:C:\DOS\DRDOS> 312: 300: 283: 275: 1088: 1087: 1083: 1082: 1081: 1079: 1078: 1077: 1063: 1062: 1049: 1037: 1035: 1006: 1004: 980: 978:Further reading 975: 974: 965: 963: 942: 941: 937: 928: 926: 909: 908: 904: 895: 893: 880: 871: 862:(61 ed.). 853: 849: 840: 836: 829: 827: 814: 803: 783: 757: 750: 741: 739: 724: 723: 719: 706: 705: 701: 692: 690: 675: 674: 670: 649: 638: 629: 627: 614: 613: 609: 600: 599: 598: 594: 589: 584: 583: 570: 566: 555: 551: 547: 540: 532:, used for the 520:that support a 515: 511: 506: 487:(Linux systems) 466: 457: 453: 442: 422: 395: 355:DR DOS 6.0 337:) was added to 336: 332: 326: 322: 320: 314: 310: 308: 304: 296: 294: 287: 281: 279: 273: 271: 267: 254: 249: 245: 239: 232:COMMAND.COM in 209: 205: 201: 197: 185: 176: 162: 154: 150: 146: 133: 127: 95: 90: 80: 73: 69: 65: 49: 17: 12: 11: 5: 1086: 1076: 1075: 1061: 1060: 1048: 1047:External links 1045: 1044: 1043: 1018:(2010-05-06). 1012: 987:(2010-10-11). 979: 976: 973: 972: 935: 919:The Open Group 902: 869: 856:Brown, Ralf D. 847: 801: 781: 773:Addison Wesley 761:Brown, Ralf D. 748: 717: 699: 668: 636: 607: 591: 590: 588: 585: 582: 581: 577:critical error 568: 564: 553: 549: 538: 508: 507: 505: 502: 501: 500: 494: 488: 482: 477: 475:Root directory 472: 470:Home directory 465: 462: 394: 391: 367:Concurrent DOS 334: 330: 318: 306: 302: 292: 285: 277: 269: 265: 252: 247: 241: 237: 227:file shortcuts 207: 203: 199: 195: 181: 174: 165:home directory 160: 152: 148: 142: 129: 123: 108:command shells 93: 79: 76: 71: 67: 63: 60:root directory 47: 15: 9: 6: 4: 3: 2: 1085: 1074: 1071: 1070: 1068: 1058: 1054: 1051: 1050: 1033: 1029: 1025: 1021: 1017: 1016:Chen, Raymond 1013: 1002: 998: 994: 990: 986: 985:Chen, Raymond 982: 981: 961: 957: 953: 949: 945: 939: 924: 920: 916: 912: 906: 891: 887: 886: 878: 876: 874: 865: 861: 857: 851: 845: 825: 821: 820: 812: 810: 808: 806: 799: 797: 792: 788: 784: 782:0-201-63287-X 778: 774: 769: 768: 762: 755: 753: 738:on 2016-11-04 737: 733: 732:Caldera, Inc. 729: 728: 721: 713: 709: 703: 688: 684: 683:Caldera, Inc. 680: 679: 672: 664: 663: 658: 654: 647: 645: 643: 641: 625: 621: 617: 611: 603: 596: 592: 578: 574: 567:has an alias 562: 559: 545: 543: 535: 531: 527: 523: 519: 513: 509: 498: 497:Long filename 495: 492: 489: 486: 483: 481: 478: 476: 473: 471: 468: 467: 461: 451: 446: 440: 435: 433: 429: 425: 419: 415: 410: 408: 404: 400: 390: 388: 384: 381:paths. Since 380: 376: 372: 368: 364: 363:DOS emulation 360: 356: 352: 348: 342: 340: 307:PROMPT $ P$ G 299: 295:token of the 289: 263: 259: 258:Multiuser DOS 251: 244: 235: 230: 228: 225: 221: 217: 213: 193: 189: 184: 180: 173: 168: 166: 158: 145: 140: 136: 132: 126: 121: 117: 113: 109: 106: 102: 97: 89: 85: 75: 64:/rabbit-shoes 61: 57: 53: 46: 42: 38: 34: 30: 26: 22: 1036:. Retrieved 1023: 1005:. Retrieved 992: 964:. Retrieved 948:Bug Database 947: 938: 927:. Retrieved 905: 894:. Retrieved 884: 850: 841:NWDOSTIP.TXT 837:MPDOSTIP.ZIP 828:. Retrieved 818: 766: 740:. Retrieved 736:the original 726: 720: 707: 702: 691:. Retrieved 685:1998-12-24. 677: 671: 661: 657:Conn, Rex C. 628:. Retrieved 610: 595: 512: 458:java.io.File 447: 439:Visual Basic 436: 426:effects the 421: 411: 396: 378: 374: 369:- (and thus 365:on top of a 343: 290: 282:CHDIR C:\DOS 280:would issue 255: 231: 186:(in Windows 169: 98: 91: 84:cd (command) 51: 40: 24: 18: 653:Rawson, Tom 561:COMMAND.COM 432:text string 428:system call 407:file system 401:provide an 327:C:DRDOS> 262:DR-DOS 7.02 234:DR-DOS 7.02 188:COMMAND.COM 139:Unix shells 43:, e.g. the 1038:2017-05-27 1007:2017-05-27 966:2011-02-20 929:2018-05-27 896:2016-11-07 830:2014-08-06 742:2013-08-10 693:2019-04-08 630:2017-05-27 587:References 516:There are 491:Load drive 414:C language 311:C:\DOS> 1028:Microsoft 997:Microsoft 921:. 2004 . 620:Microsoft 602:getcwd(3) 480:Directory 420:function 403:interface 347:LASTDRIVE 341:as well. 323:C:DOS> 157:arguments 33:directory 21:computing 1067:Category 1032:Archived 1001:Archived 960:Archived 923:Archived 890:Archived 824:Archived 687:Archived 624:Archived 573:floppies 464:See also 379:absolute 375:relative 351:DOS Plus 278:CHDIR /B 155:without 135:commands 99:In most 1059:session 864:INTER61 843:file.) 536:series. 443:CHDIR() 423:chdir() 412:In the 405:to the 383:PalmDOS 371:CP/M-86 357:, with 210:(under 192:cmd.exe 116:cmd.exe 68:foo.txt 29:process 952:Oracle 789:  779:  558:DR-DOS 556:under 534:TI-990 485:chroot 416:, the 298:PROMPT 274:C:\DOS 141:, the 48:getcwd 23:, the 504:Notes 499:(LFN) 418:POSIX 397:Most 270:CHDIR 238:ECHOS 208:_CWPS 200:_CWDS 153:CHDIR 137:. In 131:CHDIR 35:of a 31:is a 27:of a 1057:bash 917:and 915:IEEE 787:ISBN 777:ISBN 530:DX10 450:Java 359:BDOS 339:4DOS 333:and 325:and 317:, a 260:and 243:ECHO 216:4OS2 212:4DOS 206:and 204:_CWP 196:_CWD 190:and 170:The 118:and 105:UNIX 103:and 86:and 56:path 569:$ Y 565:$ W 554:$ P 550:$ O 448:In 345:by 335:$ w 331:$ W 313:or 303:$ W 293:$ P 220:4NT 175:PWD 167:). 151:or 144:pwd 128:or 101:DOS 45:BSD 19:In 1069:: 1030:. 1026:. 1022:. 999:. 995:. 991:. 950:. 946:. 872:^ 804:^ 785:. 775:. 751:^ 730:. 710:. 681:. 655:; 639:^ 622:. 618:. 563:, 541:^ 528:' 445:. 266:/B 248:CD 218:, 214:, 202:, 198:, 183:CD 161:cd 149:CD 125:CD 74:. 1041:. 1010:. 969:. 954:( 932:. 899:. 866:. 833:. 793:. 745:. 696:. 665:. 633:. 94:.

Index

computing
process
directory
hierarchical file system
BSD
path
root directory
cd (command)
operating system shell
DOS
UNIX
command shells
Microsoft Windows
cmd.exe
Windows PowerShell
CD
CHDIR
commands
Unix shells
pwd
arguments
home directory
environment variable
pseudo-environment variables
CD
COMMAND.COM
cmd.exe
4DOS
4OS2
4NT

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.