Member 9346617 Ответов: 2

Как получить доступ к файлам в общей папке, которые старше 4 дней, используя пакетную команду ?


Привет,

Я хочу отобразить имена файлов в текстовом файле из общей папки, которые старше 4 дней.
Я не могу передать имя пользователя и пароль производственного сервера пакетной команде для доступа к общей папке.

Что я уже пробовал:

1) FORFILES /P \\Test\abc /D -4 /S /C "cmd /c if @isdir==FALSE echo /F /Q @path"
При выполнении вышеуказанной команды я получаю сообщение об ошибке :
Ошибка: UNC-пути (\\machine\share) не поддерживаются.

2) реж. "\\Test\abc" /b /s > fileslist.txt
В вышеуказанной команды, нет положения, чтобы пройти Д -4, т. е., чтобы получить файлы, которые старше 4 дней.

2 Ответов

Рейтинг:
15

Richard Deeming

Если вы хотите придерживаться пакетного файла, то я бы предложил использовать pushd и popd для подключения к UNC-пути:
pushd | Microsoft Docs[^]
popd | Microsoft Docs[^]

pushd \\Test\abc
forfiles /D -4 /S /C "cmd /c if @isdir==FALSE echo /F /Q @path"
popd


Member 9346617

Спасибо, Ричард. Это сработало для меня.

Рейтинг:
0

CHill60

Использовать filesystemobject - ссылка Объект FileSystemObject | Microsoft Docs[^]
Затем вы можете получить последнюю измененную дату и использовать ее, например

Set FSO = CreateObject("Scripting.FileSystemObject")
set oFile = FSO.GetFile(sFile)

wscript.echo "File last modified: " &  objFile.DateLastModified


Редактировать ... нашли кредит: Дата Изменения Файла (VBScript)[^]