PDA

Показать полную графическую версию : [решено] Сравнение переменной цикла со строковой переменной


NickM
17-01-2017, 10:05
Уважаемые, здравствуйте!

Понадобилось решить вопрос из сабжа для целей малой автоматизации запуска менеджера очистки диска.
Смысл такой - получаю сведения из реестра, после правкой реестра эмулирую /sageset, а после уже выполняю /sagerun

Пока батник имеет такой вид:

@echo off
Setlocal EnableDelayedExpansion
For /F "usebackq tokens=8 delims=\" %%i IN (`reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches"`) Do echo.%%i

Я не хочу трогать пользовательские данные, поэтому требуется исключить из выдачи цикла корзину - "Recycle Bin".

Пробовал разные условия:
- прямое сравнение со строкой if /i ("%%i"=="Recycle Bin"), if ("%%i" NEQ "Recycle Bin") и пр. - не работает;
- прямое сравнение с переменной if ("%%i" NEQ !RBin!), if (%%i NEQ !RBin!) и пр. - не работает.

Iska
17-01-2017, 10:14
for /f "usebackq delims=" %%i in (`reg.exe query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches" ^| find.exe /v /i "Recycle Bin"`) do echo %%i

NickM
17-01-2017, 10:28
Iska, огромное спасибо!
Тупо сидел сравнивал значения, а о том, чтобы слиять две команды даже и не подумал.




© OSzone.net 2001-2012