更改当前文件夹

时间:2011-06-03 01:23:07

标签: sas

我想指定当前文件夹。我可以找到当前文件夹:

libname _dummy_ ".";
%let folder = %NRBQUOTE(%SYSFUNC(PATHNAME(_DUMMY_)));
%put &folder;

并通过双击当前文件夹状态栏手动更改它,但我更愿意对其进行编码。这可能吗?

2 个答案:

答案 0 :(得分:10)

像这样:

x 'cd <full path>';

例如

x 'cd C:\Users\foo';

SAS识别出已向操作系统发出更改目录命令并更改其当前工作目录。

答案 1 :(得分:0)

请注意X语句的时间与其他全局语句(标题,脚注,选项等)的时间相同。如果将其置于DATA步骤中,则将在执行数据步骤之前发出X语句。

例如,假设您当前的工作目录为c:\temp。以下内容将HelloWorld.txt写入c:\temp2而不是c:\temp。在编译时,SAS运行X语句,然后执行数据步骤。请注意,在SAS中,句点(.)是对当前工作目录的引用。

data _null_;
  file '.\HelloWorld.txt';
  put 'Hello, world!';
  x 'cd C:\temp2';
run;

要在执行数据步骤后更改目录,您可能需要使用CALL SYSTEM。 CALL语句通过在数据步骤之后调用来有条件地执行。

data _null_;
  file '.\HelloWorld.txt';
  put 'Hello, world!';
  command = 'cd "C:\temp2"';
  call system(command);
run;

有关Windows系统这些详细信息的详细信息,请参阅Running Windows or MS-DOS Commands from within SAS