Использование FORFILES для перемещения файлов в папку Archive, тильда в имени каталога - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь использовать FORFILES для целей архивирования файлов, и у меня есть вся информация из справки и примеров, которые работают, за исключением этой части. В моем сетевом пути кто-то в своей бесконечной мудрости использовал символ тильды (~) в качестве имени каталога, то есть y: \ dept \ deptname \ ~~~ DOWNTIME FOLDER ~~~ \ data \, и у меня есть еще одна папка под \ data \ папка называется архив. Я пытаюсь переместить все файлы в папке \ data \ старше 30 дней в папку архива. Пока я перемещаю свою командную строку в каталог в создаваемом мной пакетном файле, мне не нужно полностью ссылаться на каталог, чтобы он возвращал мне @path или @relpath в выражении echo, но я не могу ссылаться на него полный путь к каталогу, чтобы "переместить" файлы в путь \ archive во второй половине оператора FORFILES. Любые предложения о том, как «заменить» тильду в пути к каталогу?
Вот мое полное заявление:

FORFILES /D -30 /C "cmd /c if @isdir==FALSE move @file y:\dept\deptname\~~~ DOWNTIME FOLDER ~~~\data\archive"

Это просто возвращает ошибку. Доступ запрещен, но у меня есть доступ к этому сетевому расположению как для каталога \ data \, так и для подкаталогов ниже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...