Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Копирование в файла в статичную папку, но с изменяемым путем к ней (http://forum.oszone.net/showthread.php?t=349472)

zergnet 26-08-2021 16:59 2965053

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

megaloman 26-08-2021 17:27 2965058

Код:

@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 2965077

Powershell:
Код:

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

zergnet 26-08-2021 21:17 2965082

Проверил первый вариант на домашнем пк, все работает, путь выдает, папка списки по основному пути уникальна.
Спасибо Большое.
PS на работе скрипт PS попробую, еще.

Iska 26-08-2021 22:41 2965094

zergnet, что за программа?

zergnet 27-08-2021 12:12 2965126

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


Время: 05:23.

Время: 05:23.
© OSzone.net 2001-