В настоящее время вы читаете только имена файлов, используя команду dir
. Существующий модификатор /b
говорит, печатать только имя файла и ничего больше. Вы хотите изменить его, чтобы прочитать как имя файла, так и дату СОЗДАНИЯ файла. Чтобы сделать это, это становится немного грязным. Вам нужно будет изменить эту команду канала с:
filename DIRLIST pipe 'dir "C:\_today\file*.csv" /b ';
... к этому ...:
filename DIRLIST pipe 'dir "C:\_today\file*.csv" /tc ';
Вывод изменится примерно так:
file1.csv
file2.csv
...
... что-то вроде этого ...:
Volume in drive C has no label.
Volume Serial Number is 90ED-A122
Directory of C:\_today
01/13/2017 09:14 AM 1,991 file1.csv
01/11/2017 11:43 AM 169 file2.csv
...
...
...
01/11/2017 11:43 AM 169 file99.csv
99 File(s) 6,449 bytes
0 Dir(s) 57,999,806,464 bytes free
Таким образом, вам потребуется изменить шаг данных, который создает dirlist
, чтобы очистить результаты, возвращаемые новым оператором dir
. Вам нужно будет игнорировать верхний и нижний колонтитулы и читать дату и время и т. Д. Получив эту дату и время в соответствующем формате SAS, вы можете просто использовать предложение SAS where
, чтобы сохранить интересующие вас строки. Я оставлю это как упражнение для вас. Если у вас есть проблемы с этим, вы всегда можете открыть новый вопрос.
Если вам нужна дополнительная информация о команде dir
, вы можете открыть командную строку (меню «Пуск» -> «Выполнить» -> «cmd»), а затем ввести dir /?
, чтобы увидеть список доступных переключателей для команда dir
. Вы можете найти для него немного другую комбинацию переключателей, которая лучше подходит для вашей задачи, чем я перечислил выше.