igor_andreev
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Smarsh Цитата: вот если мы имеем имя с пробелом типо "с:\program files\mail" | ЗеКрыски! у меня нет, проверить не могу. Но для бэкапа Outlook Express у меня батник есть. Сделай по аналогии, подставь свои ключи реестра. REG QUERY "HKEY_CURRENT_USER\Identities\{13C5344F-6ED2-437C-B680-300FCA98F913}\Software\Microsoft\Outlook Express\5.0" /v "Store Root" у меня выдает аналогичное твоему: Цитата: ! REG.EXE VERSION 3.0 HKEY_CURRENT_USER\Identities\{13C5344F-6ED2-437C-B680-300FCA98F913}\Software\Microsoft\Outlook Express\5.0 Store Root REG_SZ D:\MD\oe | посему: Код: REM %USER_ID% узнал уже в батнике раньше, это кучка цифр REM В "TOKENS=4*" попадает все , что написано после Store Root REG_SZ REM у тебя это будет все, что после working directory REG_SZ REM 4-й токен будет иметь значение %%a, все остальное * - %%b REM Если пробел в пути к банку сообщений есть - параметр %%b REM пустым НЕ БУДЕТ, поэтому делаем проверку IF "%%b/"=="/" FOR /F "TOKENS=4*" %%a IN ('REG QUERY "HKCU\Identities\%USER_ID%\Software\Microsoft\Outlook Express\5.0" /v "Store Root"') DO ( IF "%%b/"=="/" (SET FOLDER_WITH_DBX=%%a) ELSE (SET FOLDER_WITH_DBX=%%a %%b) ) | Цитата: или если значение реестра имеет такой вид %appdata%\thebat! | А для этого дальше я делаю: Код: REM На случай, если базы *.DBX, ну у тебя *.TBB, в папке типа %UserProfile%\ и т.п. REM Команда ECHO раскроет значение между знаками % FOR /F "TOKENS=*" %%A IN ('ECHO.%FOLDER_WITH_DBX%') DO SET FOLDER_WITH_DBX=%%A | |