Компьютерный форум 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=297517)

Cargo 26-03-2015 20:14 2488091

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

Код:

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

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 26-03-2015 20:43 2488113

Как-то так:
Код:

@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 уже озвучил ;).

Cargo 27-03-2015 14:18 2488415

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

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

Iska 27-03-2015 15:06 2488435

Цитата:

Цитата Cargo
Единственное, например, если конечный путь не создан, »

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

Cargo 28-03-2015 06:25 2488739

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


Время: 16:54.

Время: 16:54.
© OSzone.net 2001-