CMD/BAT - [решено] Как подставить в путь переменную?

Ответить
Аватара пользователя
Cargo

CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Cargo »

Здравствуйте.

Помогите дописать батник. Я ещё совсем "зелёный", пока не получается.





Код:

Код: Выделить всё

@Echo Off
SetLocal enabledelayedexpansion
for /f "usebackq tokens=2 delims==" %%i in (`type "%APPDATA%\Mozilla\Firefox\profiles.ini"^|find "Path="`) 
::получили этот "Path"
::далее нужно разархивировать архив в назначенный путь
"x:\Program Files\WinRAR\WinRAR.exe" x E:\1\TEST.rar x:\полученный путь из "Path"
endlocal
exit /b
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Foreigner »

Cargo, Если в profiles.ini прописан только один профиль. Или в переменную попадет последний.



Код:

Код: Выделить всё

@echo off
setlocal
for /f %%i in ('type "%APPDATA%\Mozilla\Firefox\profiles.ini"') do 1>nul 2>&1 set "m_%%i"
"x:\Program Files\WinRAR\WinRAR.exe" x "E:\1\TEST.rar" "%APPDATA%\Mozilla\Firefox\%m_path:/=\%"
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Iska »

Как-то так:



Код:

Код: Выделить всё

@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=2 delims==" %%i in (
	`type "%APPDATA%\Mozilla\Firefox\profiles.ini" ^| find.exe /i "Path="`
) do set sPath=%%~i
echo [%sPath%]
if defined sPath "x:\Program Files\WinRAR\WinRAR.exe" x "E:\1\TEST.rar" "x:\%sPath%"
endlocal
exit /b 0

Но имейте в виду: в «%APPDATA%\Mozilla\Firefox\profiles.ini» может быть куча «Path=» — по одному на каждый профиль.



Update:[/i] ага, коллега Foreigner уже озвучил Изображение.
Аватара пользователя
Cargo

Re: CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Cargo »

О! спасибки! оба работают.

Единственное, например, если конечный путь не создан, то вылетает ошибка в rar - "нет файлов для извлечения".



В целом вопрос решён, тему можно закрыть

Спасибо.
Аватара пользователя
Cargo

Re: CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Cargo »

Цитата Cargo:



Единственное, например, если конечный путь не создан,
CMD/BAT - [решено] Как подставить в путь переменную?




Если путь не существует — как он тогда мог оказаться в указании пути к профилю Firefox?!
Аватара пользователя
Cargo

Re: CMD/BAT - [решено] Как подставить в путь переменную?

Сообщение Cargo »

Да я немного напутал. Когда я тестил, папки (x:\%sPath% )куда должен был распокаваться архив небыло, и на это RAR ругался.

Просто дописал проверку на наличие конечного пути
Ответить

Вернуться в «Скриптовые языки администрирования Windows»