Re: What is the reason for this?
- Posted by Bob Elia <bobelia200 at netzero.net> Aug 17, 2005
- 499 views
At 12:15 PM 8/16/05 -0700, you wrote: > > >posted by: Robert Craig <rds at RapidEuphoria.com> > >DB James wrote: > > In the course of some experimentation in WinXP with sending commands to > cmd.exe, I > > found this situation: > > > > If I use RUN cmd to bring up the console for commands in NT-style OS, > and type in echo. > > > "c:\long dir name\long file name.txt" it creates the file named "long > file name.txt" > > in the correct directory and adds three bytes 20 0D 0A. But if I use > the system command > > in an Eu ".ex" file sending this: > > system("cmd echo. > "&dQuote&fullPath&dQuote,2) then it fails. What is > the actual > > difference between typing a command into the console, and sending the > same command via a system() > > call? Quark: Use: system("echo. > "&dQuote&fullPath&dQuote,2) There's no need to call yet another instance of cmd.exe. That's what "system" does. I don't currently have XP to test this on but it works on 98. >When you run system() with ex.exe on XP, it seems to use >some sort of DOS emulation mode, where long filenames don't work, >and some commands do not have modern options. Someone pointed out >for instance the the /s option on the rd command is rejected. > >Solution: use exwc.exe, or just avoid long filenames etc. > >Regards, > Rob Craig > Rapid Deployment Software > http://www.RapidEuphoria.com Rob: XP's DOS box is a modified earlier version of the command interpreter. I do not believe that it is emulated. If it were, I would expect a speed reduction which I have never noticed. Type "ver" and it shows something like ... 5.something rather than 7.1 as it shows under 98. I know for a fact that the Windows clipboard support (via dos interrupts) is *not* present in this version. Possibly LFN support as well but I don't remember. Juergen might know. Bob