我想给我一些关于使用 cadence orcad 的建议,这样我就可以在我的电脑的 cmd 中使用 pspice.exe 顺序运行 cir 或 net(netlist) 文件。
我使用 tcl/tk 语言。我尝试了一些东西,但没有任何结果。
我想做一些类似的东西:
set top {C:\Users\file1.net C:\Users\file2.net};
foreach a $top
{exec D:\\tools\\bin\\pspice.exe -r $a}
您的代码中有两个问题。第一个问题是\f
列表中的转义字符序列(对于“向下一行”,IIRC;关键是您不想要这种解释)。第二个问题是您的foreach
.
第一个问题最好通过使用来解决,/
而不是\
,然后使用file nativename
提供给操作系统的值。(您必须为 中的可执行文件的参数手动执行此操作expr
;Tcl 无法完全自动为您解决此问题。)第二个问题只是语法错误。
试试这个:
set top {C:/Users/file1.net C:/Users/file2.net}
set pspice D:/tools/bin/pspice.exe
foreach a $top {
# Tcl knows how to convert executable names for you; not the other args though
exec $pspice -r [file nativename $a]
}
在 Windows 上,您也可以尝试:
package require twapi
set top {C:/Users/file1.net C:/Users/file2.net}
foreach a $top {
twapi::shell_execute -path [file nativename $a]
}
这只有在*.net
文件已经与PSpice应用程序关联时才有效。
上面的代码依赖于TWAPI扩展(如果你有的话)和它的shell_execute
功能,就像双击一样打开一个文档。
避免在代码中使用反斜杠总是一个好主意(无需将其转义两次),file nativename
它将为您完成这项工作。
来源:https ://twapi.magicsplat.com/v4.5/shell.html#shell_execute