bomzzz
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору REG ADD "HKCU\Software\MyKey" /V MyValue /t REG_SZ /d "!MYPath!MyFile.txt" /F REG ADD "HKCU\Software\MyKey" /V MyWrk /t REG_SZ /d "%%I" /F вот так, в оригинале написано "!MYPath!", а у тебя "%%I" IF EXIST "%%I\cons.exe" - и вот тут тоже SET MYPath=!MYPath:~0,-1! вот эта строка выкидывает точку, она взялась отсюда FOR /R "G:" %%I IN (.) DO ( , на фига так сделали не знаю можно сделать и несколько, повтори для каждого диска. или можно цикл замутить еще один for /f %%i in ('fsutil fsinfo drives ^|more') do ( echo %%i ) Цитата: @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION FOR /R "G:\" %%I IN (.) DO ( SET MYPath=%%I SET MYPath=!MYPath:~0,-1! REM ECHO !MYPath! можно вставить чтоб не скучно ждать было IF EXIST "!MYPath!cons.exe" ( REG ADD "HKCU\Software\MyKey" /V MyWrk /t REG_SZ /d "!MYPath!" /F GOTO END ) ) :END FOR /R "D:\" %%I IN (.) DO ( ............................................................... ENDLOCAL | "G:\" косая черта обязательно - офигенно быстро ищет, вбс срипт гораздо дольше вошкается НЕКОРРЕКТНО РАБОТАЕТ ПОЧЕМУ ТО. ОШИБКА ГДЕ ТО НАШЕЛ В ЧЕМ ОШИБКА - НЕ ИЩЕТ ТАМ ГДЕ В ПУТИ ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК Добавлено: ВОТ ПЕРЕДЕЛАЛ. НО ЗАРАЗА ВСЕ РАВНО НЕ ИЩЕТ В ИМЕНАХ С ! @ECHO OFF COLOR 9F SETLOCAL ENABLEDELAYEDEXPANSION FOR /R "c:\" %%I IN (.) DO IF EXIST %%~fI\MYFILE.TXT ECHO %%~fI\MYFILE.TXT & GOTO END :END ENDLOCAL PAUSE ECHO %%~fI\MYFILE.TXT - ВМЕСТО ВОТ ЕТОГО ЗАПИСЬ В РЕЕСТР НАПИШИ А ВОТ ТАК ИЩЕТ @ECHO OFF COLOR 9F FOR /R "c:\" %%I IN (.) DO IF EXIST %%~fI\MYFILE.TXT ECHO %%~fI\MYFILE.TXT & GOTO END :END PAUSE ВСЕ ПЕРЕПРОБОВАЛ - ЛЮБЫЕ ЗНАКИ МОЖНО И АТРИБУТЫ ПАПОК. ТОЛЬКО В КОРЗИНЕ НЕ ИЩЕТ ПОЧЕМУ ТА | Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:22 25-01-2010 | Исправлено: bomzzz, 18:37 25-01-2010 |
|