我想指定当前文件夹。我可以找到当前文件夹:
libname _dummy_ ".";
%let folder = %NRBQUOTE(%SYSFUNC(PATHNAME(_DUMMY_)));
%put &folder;
并通过双击当前文件夹状态栏手动更改它,但我更愿意对其进行编码。这可能吗?
答案 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