パスに空白を含むプログラムを実行する方法親愛なるコミュニティの皆様
JMPを使用して、Windows 10の現在のディレクトリにあるファイルを圧縮したいのですが、
そのため、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" )
);
自動化とスクリプトRe: パスに空白があるプログラムを実行する方法パスを引用符で囲むとうまくいくはずです
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")
);
Re: パスに空白があるプログラムを実行する方法こんにちは、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>
Re: パスに空白があるプログラムを実行する方法最初のバックスラッシュを削除するには、「windows」引数でConvert File Path()を使用します。
Names Default To Here(1);
base_path = Get Default Directory();
base_path_w = Convert File Path(base_path, "windows"); // "C:\Users\
<USERNAME>
\Documents\"
</USERNAME>