You are not logged in.
These is other feature undocumented of cmd.
In the redirection input: <
if you specify a file, and it not exist in the current directory, cmd would search it on the DPATH environment variable.
Example:
C:\batch>echo hello>c:\test\in.txt
C:\batch>type c:\test\in.txt
hello
C:\batch>dir /a /b
C:\batch>set /p var=<in.txt
The system cannot find the file specified.
C:\batch>set var
Environment variable var not defined
C:\batch>dpath c:\test;
C:\batch>set /p var=<in.txt
C:\batch>set var
var=hello
C:\batch>
Last edited by carlos (14 May 2014 23:23)
Offline
This is quite interesting. I was unable to find much about the dpath command especially pertaining to Windows. However, I found some information regarding dpath for OS/2 which seems to be correct for Windows as well.
DPATH
Gives application programs the search path to data files that are outside the current directory. The DPATH environment variable can only be set using the SET command in OS/2 sessions.
DPATH ----------|---------|---- path -------|-------------|
|- drive -| |
| |
|------------- ; --------------|
Related Commands: ;)APPEND ;)PATH and ;)SET Typing DPATH without a parameter displays the current value of the DPATH environment variable. Typing DPATH ; clears the DPATH environment variable. DPATH indicates what directories applications should search for their data files (if an application program uses the DPATH directory list). DPATH is a system environment variable, which means that application programs can query the environment for its value, and, depending on what they find, change their behavior. Like the PATH command, the number of directories you can specify with DPATH is limited only by the length of the command line. The length of a DPATH command can be up to six characters less that the maximum number of characters allowed on the command line. Once you set a search path for data files with DPATH, the path remains in effect for the current command processor until you replace it with another DPATH command. DPATH differs from the APPEND command in how it operates. DPATH tells applications what directories it should search in order to find data files, and it is up to the applications to recognize DPATH. With the APPEND command, however, application programs are able to find files without recognizing that the APPEND command is in effect.
Source: jrttest.com/Help/Os2Cmd.Html#DPATH
Offline
a link to the the other topic with undocumented DPATHfeatures (topic is closed that's because I reply here)
I can confirm this only on win10 at the moment , but CALL and START looks like also rely on the DPATH value.
dpath %path%
type win.ini
start "" win.ini
call win.ini
win.ini
all three will start the win.ini with the associated editor.
And I'm not sure if this is a new CALL feature - it can open a non .bat/.exe/.cmd file with the associated program?
Last edited by npocmaka (27 Jan 2016 12:14)
Offline
Is not all this stuff the documented features of DPATH command?
Allows programs to open data files in specified directories as if they were in
the current directory.
APPEND [[drive:]path[;...]] [/X[:ON | :OFF]] [/PATH:ON | /PATH:OFF] [/E]
APPEND ;
[drive:]path Specifies a drive and directory to append.
/X:ON Applies appended directories to file searches and
application execution.
/X:OFF Applies appended directories only to requests to open files.
/X:OFF is the default setting.
/PATH:ON Applies appended directories to file requests that already
specify a path. /PATH:ON is the default setting.
/PATH:OFF Turns off the effect of /PATH:ON.
/E Stores a copy of the appended directory list in an environment
variable named APPEND. /E may be used only the first time
you use APPEND after starting your system.
Type APPEND ; to clear the appended directory list.
Type APPEND without parameters to display the appended directory list.
Note these two funny details: in my Spanish Windows 8.1 when I type "DPATH /?" the description of APPEND command in Spanish appear, but when I type "APPEND /?" the previous English description appears!
Antonio
Offline
Is not all this stuff the documented features of DPATH command?
Allows programs to open data files in specified directories as if they were in the current directory. APPEND [[drive:]path[;...]] [/X[:ON | :OFF]] [/PATH:ON | /PATH:OFF] [/E] APPEND ; [drive:]path Specifies a drive and directory to append. /X:ON Applies appended directories to file searches and application execution. /X:OFF Applies appended directories only to requests to open files. /X:OFF is the default setting. /PATH:ON Applies appended directories to file requests that already specify a path. /PATH:ON is the default setting. /PATH:OFF Turns off the effect of /PATH:ON. /E Stores a copy of the appended directory list in an environment variable named APPEND. /E may be used only the first time you use APPEND after starting your system. Type APPEND ; to clear the appended directory list. Type APPEND without parameters to display the appended directory list.
Note these two funny details: in my Spanish Windows 8.1 when I type "DPATH /?" the description of APPEND command in Spanish appear, but when I type "APPEND /?" the previous English description appears!
Antonio
You are using 32 bit windows (you have the APPEND.EXE)
APPEND.EXE is a 16 bit program (there are at least 3 types of files at the moment that have the .exe extension ) and is selfcontained.
While cmd.exe contains its localization info in C:\Windows\System32\en-US\cmd.exe.mui file (this approach was introduced with Vista) - the language and the country code vary.
In cmd.exe DPATH help message points to the localization file and the in the APPEND carries it with itself (16bit executables does not rely on mui files)
But as you can see the documentaion of DPATH is wrong - syntax is the same as PATH but its help message points to APPEND which is missing on x64 systems.
So!
Is START command works with DPATH on windows 8.1 can you confirm it?
EDIT
the reason CALL and direct call of win.ini to start is
due to command extensions (probably the reason MS to abandon append command)
It workds with START because the file is in the same directory as cmd.exe
Last edited by npocmaka (28 Jan 2016 11:29)
Offline
/offtopic
This is quite interesting. I was unable to find much about the dpath command especially pertaining to Windows. However, I found some information regarding dpath for OS/2 which seems to be correct for Windows as well.
Source: jrttest.com/Help/Os2Cmd.Html#DPATH
I've just saw the KEYS command there and the list parameter.does not do nothing bur KEYS LIST does not throw an error.
Offline
.
Last edited by npocmaka (28 Jan 2016 11:28)
Offline