如何运行多个 CMD 命令?你好,
我正在尝试使用命令提示符从 JMP 中简单提取 zip 文件 (TGZ),但我无法使用以下方法来完成此操作(我尝试了很多荒谬的想法,但似乎都不起作用......) :
Names Default To Here( 1 );
path1="C:/Users/niros/Downloads/";
path2="C:/Program Files/WinRAR/WinRAR.exe";
path3="C:/Users/niros/Downloads/LP.tgz";
RP = RunProgram(
Executable( "CMD.EXE" ),
Options( { {"cd", path1}, {"mkdir", "testing"}, {"cd", "testing"}, {path2,"x", path3} } ),
Read Function("text")
);
谢谢!
质量和工艺工程回复:如何运行多个 CMD 命令?多次感谢大家! PMROZ 您的答案正是我一直在寻找的!
我的最后一个错误是路径中的空格,可以使用 \!" 字符轻松解决......
解决方案:
path1="C:/Users/niros/Downloads/";
path2="\!"C:/Program Files/WinRAR/WinRAR.exe\!"";
path3="C:/Users/niros/Downloads/LP.tgz";
//-------------------------------------------------------------------------------
// Create a command file to run multiple commands
cmd_file_text = evalinsert(
"rem Run multiple commands\!N
cd ^path1^\!N
mkdir testing\!N
cd testing\!N
^path2^ x ^path3^\!N
pause\!N
");
cmd_file_name = "c:\temp\run_commands.cmd";
// Save command file to disk
save text file(cmd_file_name, cmd_file_text, mode("replace"));
//-------------------------------------------------------------------------------
// The /c option carries out the command before terminating
run_cmds = runprogram(executable("cmd.exe"), options("/c " || cmd_file_name), readfunction("text"));
nw = new window("Output", << modal,
panel box("CMD output:",
text box(run_cmds, set width(800), set wrap(800),
<< Set Font( "Courier New" )),
)
);回复:如何运行多个 CMD 命令?我必须使用“\!N”将硬返回添加到 JSL 生成的 .cmd 文件中。
回复:如何运行多个 CMD 命令?就其价值而言,使用 RunProgram 很棘手...... 我怀疑我们大多数人在实现它之前必须尝试许多荒谬的想法:)
回复:如何运行多个 CMD 命令?您也可以将所有命令写入一个 CMD 文件并执行它。
path1="C:/Users/niros/Downloads/";
path2="C:/Program Files/WinRAR/WinRAR.exe";
path3="C:/Users/niros/Downloads/LP.tgz";
//-------------------------------------------------------------------------------
// Create a command file to run multiple commands
cmd_file_text = evalinsert(
"rem Run multiple commands\!N
C:\!N
cd ^path1^\!N
mkdir testing\!N
cd testing\!N
^path2^ x ^path3^\!N
pause\!N
");
cmd_file_name = "c:\temp\run_commands.cmd";
// Save command file to disk
save text file(cmd_file_name, cmd_file_text, mode("replace"));
//-------------------------------------------------------------------------------
// The /c option carries out the command before terminating
run_cmds = runprogram(executable("cmd.exe"), options("/c " || cmd_file_name), readfunction("text"));
nw = new window("Output", << modal,
panel box("CMD output:",
text box(run_cmds, set width(800), set wrap(800),
<< Set Font( "Courier New" )),
)
);
回复:如何运行多个 CMD 命令?脚本索引中的示例 3
RunProgram set up to feed commands to CMD.exeRunProgram set up to feed commands to CMD.exeRunProgram 设置为向 CMD.exe 提供命令
是一种方式。
另一种方法是在参数中使用命令分隔符。 对示例1进行修改:
RP = Run Program(
Executable( "CMD.EXE"/*path probably not needed*/ ),
Options( {"/a", "/q", "/c dir && echo hello && ping localhost"} ),
ReadFunction( Function( {this}, Write( this << read ) ) )
);
(以上两者均设置为在 cmd.exe 运行时从其读取,并将答案写入 JMP 日志。 您使用 readfunction("text") 的原始示例是一种更简单、不太灵活的方式,它收集所有输出并在最后呈现它。)