Steklopaket
24-12-2011, 17:46
Здравствуйте!
Помогите подредактировать код, а то в батниках я не силён. :)
@echo off
>nul chcp 1251
set Label=WINDOWS VISTA (игровая)
for %%a in (Z: Y: X: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C:) do if exist %%a\. for /f "tokens=6,*" %%b in ('vol %%a') do if "%%c" == "%Label%" set Drive=%%a
if not "%Drive%" == "" (echo Label: %Label% && echo Letter: %Drive%) else (echo Label %Label% is missing)
if not "%Drive%" == "" if exist "ReMount.exe" (
cmd.exe /C "ReMount.exe" -ReMount %Drive% R: -f
) ELSE (
echo File ReMount.exe is not exist.
)
echo.
pause > nul
Суть кода в том, что по метке тома ( в данном случае - WINDOWS VISTA (игровая) ) определяется его буква, а затем с помощью ReMount.exe текущая буква меняется на заданную.
Если метка тома не имеет круглых скобок, всё прекрасно работает. Но если круглые скобки присутствуют (как в данном случае), то работает некорректно... Как можно исправить?
Помогите подредактировать код, а то в батниках я не силён. :)
@echo off
>nul chcp 1251
set Label=WINDOWS VISTA (игровая)
for %%a in (Z: Y: X: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C:) do if exist %%a\. for /f "tokens=6,*" %%b in ('vol %%a') do if "%%c" == "%Label%" set Drive=%%a
if not "%Drive%" == "" (echo Label: %Label% && echo Letter: %Drive%) else (echo Label %Label% is missing)
if not "%Drive%" == "" if exist "ReMount.exe" (
cmd.exe /C "ReMount.exe" -ReMount %Drive% R: -f
) ELSE (
echo File ReMount.exe is not exist.
)
echo.
pause > nul
Суть кода в том, что по метке тома ( в данном случае - WINDOWS VISTA (игровая) ) определяется его буква, а затем с помощью ReMount.exe текущая буква меняется на заданную.
Если метка тома не имеет круглых скобок, всё прекрасно работает. Но если круглые скобки присутствуют (как в данном случае), то работает некорректно... Как можно исправить?