Re: Exec a program on Windows that contains ( ) in the filename
- From: walton.paul@xxxxxxxxx
- Date: 24 Sep 2006 14:41:29 -0700
You could do this, I think:
set token [open temp.bat w]
puts $token {"c:\Tcl\bin\a(b)\test.bat"}
close $token
exec temp.bat
file delete temp.bat
joiosoy@xxxxxxxxx wrote:
Hi,
Have been banging my head on this. I have not found a way of executing
a file that has parentheses in its name on Windows.
Say the file is "test.bat" and it lives in "c:\Tcl\bin\a(b)". It
contains: echo Hello
exec c:/Tcl/bin/a\(b\)/test.bat
'c:\Tcl\bin\a' is not recognized as an internal or external command,
operable program or batch file.
set f [open |c:/Tcl/bin/a(b)/test.bat] ; close $f
'c:\Tcl\bin\a' is not recognized as an internal or external command,
operable program or batch file.
set f [open |"c:/Tcl/bin/a(b)/test.bat"]; close $f
'c:\Tcl\bin\a' is not recognized as an internal or external command,
operable program or batch file.
exec {"c:/Tcl/bin/a(b)/test.bat"}
couldn't execute ""c:\Tcl\bin\a(b)\test.bat"": no such file or
directory
The weirdest of all:
cd c:/Tcl/bin/a(b)/
exec test.bat
'C:\Tcl\bin\a' is not recognized as an internal or external command,
operable program or batch file.
From the Windows command line:
C:\Documents and Settings\user\Desktop>c:\Tcl\bin\a(b)\test.bat
'c:\Tcl\bin\a' is not recognized as an internal or external command,
operable program or batch file.
But if we quote it:
C:\Documents and Settings\user\Desktop>"c:\Tcl\bin\a(b)\test.bat"
C:\Documents and Settings\user\Desktop>echo Hello
Hello
Any ideas? I am going crazy over this. This comes in part from people
installing programs on c:\Program Files (x64) on 64bit versions of
Windows
Thanks in advance for any insight you can provide
Daniel
.
- References:
- Prev by Date: Re: extra character error
- Next by Date: Re: Exec a program on Windows that contains ( ) in the filename
- Previous by thread: Re: Exec a program on Windows that contains ( ) in the filename
- Next by thread: Max list elements
- Index(es):
Relevant Pages
|