无法从TCL执行批处理文件,能够从cmd执行

时间:2017-07-26 06:27:31

标签: batch-file cmd tcl

您好我无法从TCL shell执行批处理文件。我可以从命令提示符执行它。

C:\BTC>tclsh
% exec log/file.bat
couldn't execute "log\file.bat": no such file or directory
% exit  

C:\BTC>log\file.bat  

C:\BTC>plink -ssh -l root -pw hrun*10 5.1.5.8 iperf -s -i 1 -f m  

Terminate batch job (Y/N)? Y

正如您所看到的,它在tclsh中给出了错误,并且它在cmd中执行。 请帮忙。

2 个答案:

答案 0 :(得分:0)

批处理文件在Windows上不能直接执行;他们需要通过正确的口译员执行。 auto_execok(由于历史原因而奇怪的名称)命令有助于此:

exec {*}[auto_execok log/file.bat]

答案 1 :(得分:0)

我认为您需要的只是指定解释器并使用Jeb提到的完全限定路径。他的例子虽然不包括完整的路径,因为你没有提到它的位置,我猜它是在C:\ temp \ log中你可以用它的实际位置替换它。 exec cmd.exe / c c:/temp/log/file.bat 请注意使用Unix样式路径分隔符和驱动器号规范的完整路径。