CMD/BAT - [решено] Проверить запись в BAT файле

Ответить
 • Просмотры: 1
Аватара пользователя
RS_WOOLF

CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение RS_WOOLF »

Всем привет.



Новичок в Батниках, поэтому такой вопрос.



Есть файл selhdw.dll

В нем есть строка

SET SST_....



Необходимо с помощью батника проверить наличие записи которое идет после SET SST...



Если например

SET SST_BRM то запускать файл 1

если

SET SST_CDM то запускать файл 2



Подскажите пожалуйста как это записать?

Спасибо большое.
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение Elven »

Очень приблизительный и кривой вариант (на коленке писал, опять винды нет под рукой):



Код:

Код: Выделить всё

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 файле

Сообщение megaloman »

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

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение RS_WOOLF »

Файл, очень простой Изображение прилагаю,переименовал в txt
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение Elven »

Цитата Elven:



Ну тогда если этот параметр гарантированно не повторяется (т.е. в одном файле не будет и SET SST_BRM, и SET SST_CDM, то вариант во втором посте должнон худо-бедно сработать.
CMD/BAT - [решено] Проверить запись в BAT файле




Попробовал, вот что вышло. прилагаю скрин
Файл 163924
Аватара пользователя
RS_WOOLF

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение RS_WOOLF »

Вроде, разобрался.

Сделал вот так



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 »

Код:

Код: Выделить всё

@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 »

Цитата 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
CMD/BAT - [решено] Проверить запись в BAT файле




Iska, отлично, так лучше.

Все работает.



Спасибо огромное Iska и ElvenИзображение
Аватара пользователя
RS_WOOLF

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение RS_WOOLF »

Iska, не поверишь, опять забыл про && и || , хотя КАЖДЫЙ ДЕНЬ ими пользуюсь (если и не обоими, то по крайней мере && так точно)
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Проверить запись в BAT файле

Сообщение Elven »

Iska, не поверишь, опять забыл про && и || , хотя КАЖДЫЙ ДЕНЬ ими пользуюсь (если и не обоими, то по крайней мере && так точно)
Ответить

Вернуться в «Скриптовые языки администрирования Windows»