我正在尝试在powershell中运行一个tcl脚本,以便我可以利用一些powershell功能,即tee功能在控制台中显示脚本输出并在Windows中实时记录到文件。
问题是我需要调用tcl解释器(tclsh
)并为其提供带参数"C:\myScript.tcl"
的tcl脚本--arg1 arg1 --arg2 arg2
...
因此,我可以在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功能,但我不想安装任何第三方工具来执行此操作。
想法?
谢谢!
答案 0 :(得分:0)
运行
powershell "&{ tclsh --arg1 arg1 --arg2 arg2 | Tee-Object C:\myoutfile.txt }"
除了你通常没有C:\
的写权限外,应该有用。