如何运行路径中包含空格的程序亲爱的社区成员们,
我想在Win10系统中使用JMP将当前目录下的文件压缩成zip文件。
所以我使用 run program() 和 cmd 或 powershell。
但是我的 OneDrive 路径中有空格,我该如何解决这个问题?
我在用户组中找到了: https://community.jmp.com/t5/Discussions/Open-file-in-excel-with-whitespace-in-filename/mp/911999 ?search-action-id=96030372702&search-result-uid=911999,但对我没有帮助。
谢谢!
Names Default To Here( 1 );
base_path = Get Default Directory(); // doesn't work
base_path = "C:\Users\"; // works
Show( base_path );
// e.g. base_path = "/C:/Users/user/OneDrive - Documents/";
// how to mask space in path??
command = Eval Insert( "dir ^base_path^" );
// command = eval insert("\[dir "^base_path^"]\"); // doesn't work
Show( command );
RP = Run Program(
Executable( "cmd.exe" ),
Options( Insert( {"/a", "/q", "/c"}, command ) ),
// ReadFunction( Function( {this}, Write( this << read ) ) )
readfunction( "Text" )
);
自动化和脚本编写回复:如何在路径中包含空格的情况下运行程序在路径周围加上引号应该就可以了。
Names Default To Here(1);
base_path = "C:\Program Files\"; // works
Show(base_path);
command = Eval Insert("dir \!"^base_path^\!"");
Show(command);
RP = Run Program(
Executable("cmd.exe"),
Options(Insert({"/a", "/q", "/c"}, command)),
// ReadFunction( Function( {this}, Write( this << read ) ) )
readfunction("Text")
);
回复:如何在路径中包含空格的情况下运行程序嗨 Jarmo,谢谢,你说得对,我的开头反斜杠也有问题。
Names Default To Here( 1 );
base_path = "C:\Program Files\"; // works
base_path = Get Default Directory();
// starting backslash makes problems, needs to be removed
// "/C:/Users/
<USER>
/OneDrive - Documents/" base_path = Substr( base_path, 2, Length( base_path ) ); command = Eval Insert( "dir \!"^base_path^\!"" ); Show( command ); RP = Run Program( Executable( "cmd.exe" ), Options( Insert( {"/a", "/q", "/c"}, command ) ), // ReadFunction( Function( {this}, Write( this << read ) ) ) readfunction( "Text" ) );
</USER>
回复:如何在路径中包含空格的情况下运行程序我会使用带有“windows”参数的 ConvertFilePath() 函数来移除第一个反斜杠。
Names Default To Here(1);
base_path = Get Default Directory();
base_path_w = Convert File Path(base_path, "windows"); // "C:\Users\
<USERNAME>
\Documents\"
</USERNAME>