Показать полную графическую версию : [решено] Как подставить в путь переменную?
Здравствуйте.
Помогите дописать батник. Я ещё совсем "зелёный", пока не получается.
@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
26-03-2015, 20:39
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:/=\%"
Как-то так:
@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: ага, коллега Foreigner уже озвучил ;).
О! спасибки! оба работают.
Единственное, например, если конечный путь не создан, то вылетает ошибка в rar - "нет файлов для извлечения".
В целом вопрос решён, тему можно закрыть
Спасибо.
Единственное, например, если конечный путь не создан, »
Если путь не существует — как он тогда мог оказаться в указании пути к профилю Firefox?!
Да я немного напутал. Когда я тестил, папки (x:\%sPath% )куда должен был распокаваться архив небыло, и на это RAR ругался.
Просто дописал проверку на наличие конечного пути
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.