Войти

Показать полную графическую версию : Копирование в файла в статичную папку, но с изменяемым путем к ней


zergnet
26-08-2021, 16:59
Доброго времени товарищи,
сделан у меня батник для обновления служебных файлов в спец программе у пользователей,
у пользователей был статичный путь с:\программ файл\спец программа\обнова\списки
но с обновления программы, в папке путь стал разный у всех пользователей с новой версии и выглядит с:\программ дата\спец программа\хххх\списки xxxx- папка с именем "ва7пи98773оор4п" у всех пользователей код папки разный.
по логике бы сделать не абсолютный путь, не знаю как.. в рунете искал не нашел..(
буду благодарен если подскажите как это сделать.

megaloman
26-08-2021, 17:27
@Echo Off
cls
>nul chcp 1251
Set "BoxIn=C:\программ дата\спец программа"
Set "BoxDir=списки"

For /F "usebackq delims=" %%d In (`2^>nul Dir "%BoxIn%\%BoxDir%" /S /B /A:D`) Do Set "MyPath=%%d"

Echo "%MyPath%"
pause
Exit /B 0
В зависимости от того, в какой кодировке сохраняем командный файл,
>nul chcp 1251
нужен только в случае сохранения батника в 1251 кодировке
Скрипт предсказуемо отработает, если подпапка "списки" встречается только один раз во вложенных подпапках "C:\программ дата\спец программа", иначе получим самый последний путь по алфавитной сортировке с подпапкой "списки". То есть, в этом случае надо уточнять постановку задачи.

DJ Mogarych
26-08-2021, 20:50
Powershell:

cp (dir "C:\temp\*.txt") "$((get-item "$env:ProgramData\Спецпрограмма\*\списки").FullName)"

zergnet
26-08-2021, 21:17
Проверил первый вариант на домашнем пк, все работает, путь выдает, папка списки по основному пути уникальна.
Спасибо Большое.
PS на работе скрипт PS попробую, еще.

Iska
26-08-2021, 22:41
zergnet, что за программа?

zergnet
27-08-2021, 12:12
Да это программа vipnet, а файлики списки отозванных сертификатов, просто само обновление хоть и есть в самой программе, но если человек был в отпуске или на больничном то он может пол дня не работать потому что списки отозванных сертификатов старые, а батник с сервера где круглосуточно это программа крутиться копирует юзеру, с перезапуском модулей и все ок.




© OSzone.net 2001-2012