我正在使用以下使用文件名管道的宏。但出现错误,提示无效选项名称“dir”等。我怀疑这可能是由于定义文件名和管道时的引号所致。我想它会将其识别为一个选项。我尝试删除引号,删除 %bquote 并仅使用双引号,但仍然不断出现错误。
我正在使用 Windows,但也会在 Linux 上远程运行它。任何想法将不胜感激。
%macro setprogvar(dateval);
%global date;
%let date=&dateval;
%put &date;
%put &dateval;
%let filepath = %bquote("C:\Research\SASDataSets\bulk all data &date");
filename CDR_Bulk pipe "dir &filepath /a:-d-h-s /b /s";
%mend setprogvar;
%setprogvar(20100331);
***LOG************
1 filename CDR_Bulk pipe "dir &filepath /a:-d-h-s /b /s";
---
23
ERROR 23-2: Invalid option name dir.
1 ! filename CDR_Bulk pipe "dir &filepath /a:-d-h-s /b /s";
-
23
ERROR 23-2: Invalid option name a.
文件路径宏变量需要用双引号引起来,因为它包含空格。但是由于您的字符串是双引号的,因此您需要双双引号......
filename CDR_Bulk pipe "dir ""&filepath;"" /a:-d-h-s /b /s";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)