CMD/BAT - [решено] Проверить запись в BAT файле
-
RS_WOOLF
CMD/BAT - [решено] Проверить запись в BAT файле
Всем привет.
Новичок в Батниках, поэтому такой вопрос.
Есть файл selhdw.dll
В нем есть строка
SET SST_....
Необходимо с помощью батника проверить наличие записи которое идет после SET SST...
Если например
SET SST_BRM то запускать файл 1
если
SET SST_CDM то запускать файл 2
Подскажите пожалуйста как это записать?
Спасибо большое.
Новичок в Батниках, поэтому такой вопрос.
Есть файл selhdw.dll
В нем есть строка
SET SST_....
Необходимо с помощью батника проверить наличие записи которое идет после SET SST...
Если например
SET SST_BRM то запускать файл 1
если
SET SST_CDM то запускать файл 2
Подскажите пожалуйста как это записать?
Спасибо большое.
-
Elven
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Очень приблизительный и кривой вариант (на коленке писал, опять винды нет под рукой):
Код:
Ну и да, сейчас не я так кто-нибудь другой (скорей всего Iska) задаст справедливые вопросы о структуре файла, кодировке, концах строк, сколько раз может значение повторяться в файле, почему не posh, ну и наконец затребуют либо сам файл либо как минимум фрагмент с искомой строчкой (но лучше файл, мне вот очень интересно посмотреть на dll которая просто так берет и читается).
Код:
Код: Выделить всё
findstr -C:"SET SST_BRM" selhdw.dll
if ERRORLEVEL 0 (
findstr -C:"SET SST_CDM"
if ERRORLEVEL 0 (
echo not found
) else (
echo start file2.exe
)
) else (
echo start file1.exe
)Ну и да, сейчас не я так кто-нибудь другой (скорей всего Iska) задаст справедливые вопросы о структуре файла, кодировке, концах строк, сколько раз может значение повторяться в файле, почему не posh, ну и наконец затребуют либо сам файл либо как минимум фрагмент с искомой строчкой (но лучше файл, мне вот очень интересно посмотреть на dll которая просто так берет и читается).
-
megaloman
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Iska, Ку! скрипач type не нужен
Код:
Код:
Код: Выделить всё
@Echo Off
Set "File=Z:\Box_In\selhdw.dll"
findstr.exe /l /c:"SET SST_CDMTYPE=BRM_SWAPPED" "%File%" &&start "" "D:\file1.txt"
findstr.exe /l /c:"SET SST_CDMTYPE=MDM" "%File%" &&start "" "D:\file2.txt"
Exit /B-
RS_WOOLF
-
Elven
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Цитата Elven:
Ну тогда если этот параметр гарантированно не повторяется (т.е. в одном файле не будет и SET SST_BRM, и SET SST_CDM, то вариант во втором посте должнон худо-бедно сработать.
Попробовал, вот что вышло. прилагаю скрин
Ну тогда если этот параметр гарантированно не повторяется (т.е. в одном файле не будет и SET SST_BRM, и SET SST_CDM, то вариант во втором посте должнон худо-бедно сработать.
CMD/BAT - [решено] Проверить запись в BAT файле
Попробовал, вот что вышло. прилагаю скрин
Файл 163924
-
RS_WOOLF
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Вроде, разобрался.
Сделал вот так
findstr -C:"SET SST_CDMTYPE=BRM_SWAPPED" C:\selhdw.dll
echo %ERRORLEVEl%
if "%ERRORLEVEL%"=="0" start D:\file1.txt
findstr -C:"SET SST_CDMTYPE=MDM" C:\selhdw.dll
echo %ERRORLEVEl%
if "%ERRORLEVEL%"=="0" start D:\file2.txt
Сделал вот так
findstr -C:"SET SST_CDMTYPE=BRM_SWAPPED" C:\selhdw.dll
echo %ERRORLEVEl%
if "%ERRORLEVEL%"=="0" start D:\file1.txt
findstr -C:"SET SST_CDMTYPE=MDM" C:\selhdw.dll
echo %ERRORLEVEl%
if "%ERRORLEVEL%"=="0" start D:\file2.txt
- Вложения
-
[Расширение png было запрещено, вложение больше недоступно.]
-
RS_WOOLF
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Код:
Хотя выше Вы писали про другое условие:
Цитата RS_WOOLF:
Если например
SET SST_BRM то запускать файл 1
если
SET SST_CDM то запускать файл 2
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=BRM_SWAPPED" && start "" "D:\file1.txt"
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=MDM" && start "" "D:\file2.txt"
endlocal
exit /b 0Хотя выше Вы писали про другое условие:
Цитата RS_WOOLF:
Если например
SET SST_BRM то запускать файл 1
если
SET SST_CDM то запускать файл 2
CMD/BAT - [решено] Проверить запись в BAT файле
-
Iska
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Цитата Iska:
@echo off
setlocal enableextensions enabledelayedexpansion
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=BRM_SWAPPED" && start "" "D:\file1.txt"
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=MDM" && start "" "D:\file2.txt"
endlocal
exit /b 0
Iska, отлично, так лучше.
Все работает.
Спасибо огромное Iska и Elven
@echo off
setlocal enableextensions enabledelayedexpansion
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=BRM_SWAPPED" && start "" "D:\file1.txt"
type "C:\selhdw.dll" | findstr.exe /l /c:"SET SST_CDMTYPE=MDM" && start "" "D:\file2.txt"
endlocal
exit /b 0
CMD/BAT - [решено] Проверить запись в BAT файле
Iska, отлично, так лучше.
Все работает.
Спасибо огромное Iska и Elven

-
RS_WOOLF
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Iska, не поверишь, опять забыл про && и || , хотя КАЖДЫЙ ДЕНЬ ими пользуюсь (если и не обоими, то по крайней мере && так точно)
-
Elven
Re: CMD/BAT - [решено] Проверить запись в BAT файле
Iska, не поверишь, опять забыл про && и || , хотя КАЖДЫЙ ДЕНЬ ими пользуюсь (если и не обоими, то по крайней мере && так точно)