在sas数据集中运行7zip命令,例如call system()

时间:2018-04-02 20:27:37

标签: unix path sas 7zip

我想从sas使用7zip命令行。我确认这些命令可以在命令行中运行,但我不能让它在sas程序中工作。我认为这与在SAS中设置unix路径有关。有谁知道我怎么能做到这一点?

data _null_;
  length command1 command2 $1000;
  command1 = 'set PATH=%PATH%;C:\Program Files\7-zip\';
  command2 = '7z x "\\mypath\zip.zip" -pmypassword -y -o"\\mypath"';
  call system(command1);
  call system(command2);
run;

1 个答案:

答案 0 :(得分:1)

我一直都在使用它。这是一个从我的工作文件夹中压缩文件并为zip添加密码的示例。 Windows的例子很明显。如果在企业环境中运行,您可能希望确保您有权从SAS中执行shell命令(例如%sysexec)。

%sysexec "C:\Program Files\7-Zip\7z.exe" a -y -pMyPassword %sysfunc(pathname(work))\DestinationFilename.zip  %sysfunc(pathname(work))\SourceFilename.csv;