我刚刚完成了一个TCL Db应用程序,其中包含打开网页URL的功能。我的代码如下($ adr是网址):
eval exec [auto_execok start] \“\”[list $ adr]
此代码在我的Windows工作站上正常运行。但是,在我将应用程序放在网络驱动器上后,我收到以下错误:
'\驱动\共享\文件夹\子文件夹' CMD.EXE以上面的路径作为当前目录启动。 不支持UNC路径。默认为Windows目录。
网页仍然打开,但我仍然收到TCl错误。
soemone是否知道在服务器或网络环境中使用TCL打开URL的更好方法?
谢谢,
DFM
答案 0 :(得分:3)
当Tcl尝试执行您指定的URL时,显示的消息实际上是由Windows命令解释程序CMD.EXE生成的。当stderr以当前工作目录设置为网络路径启动时,它会向stderr生成该警告消息。
您可以尝试的其他两件事:
eval exec -ignorestderr [auto_execok start] \"\" [list $adr]
cd $::env(TEMP) eval exec [auto_execok start] \"\" [list $adr]
当然,要小心运行来自不受信任的输入的任意命令和参数,或者有人可能将您的应用程序用作后门来运行恶意命令。