我正在尝试在powershell中运行tcl脚本,以便可以利用powershell的一些功能,即tee功能,在控制台中显示脚本输出,并将其实时记录到Windows中的文件中。
问题是我需要调用tcl解释器(tclsh
),并为它提供带有参数--arg1 arg1 --arg2 arg2
的tcl脚本"C:\myScript.tcl"
...
因此,我可以在cmd进程中运行的命令的形式如下:
tclsh "C:\myScript.tcl" --arg1 arg1 --arg2 arg2
我尝试创建一个新进程并启动powershell,如下所示:
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("powershell", command);
其中命令为tclsh "C:\myScript.tcl" --arg1 arg1 --arg2 arg2
或
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", command);
其中命令为/k powershell.exe tclsh "C:\myScript.tcl" --arg1 arg1 --arg2 arg2
但是这些都不起作用。我要么得到tclsh.exe : Parameter -command is specified already.
,要么它什么都不能运行。
实现这一目标的最佳方法是什么?理想情况下,我希望能够执行以下操作:
tclsh "C:\myScript.tcl" --arg1 arg1 --arg2 arg2 | tee "C:\myOutFile.txt"
我对其他建议持开放态度。我知道可以下载和安装windows实用程序来执行tee功能,但我不希望必须安装任何第三方工具来执行此操作。
想法??
谢谢!
发布于 2014-01-11 08:45:10
正在运行
powershell "&{ tclsh --arg1 arg1 --arg2 arg2 | Tee-Object C:\myoutfile.txt }"
应该可以工作,除此之外,您通常在C:\
上没有写权限。
https://stackoverflow.com/questions/21056994
复制相似问题