Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Помогите решить задачу (http://forum.oszone.net/showthread.php?t=343380)

BobiBob 22-12-2019 16:38 2901651

Помогите решить задачу
 
Привет всем.

Помогите решить задачу. Все перепробЫвал. Знаний не хватает разобраться самому.

Задача:
1. Поиск в подпапках всех файлов *.txt
2. По очереди поиск в каждом найденном файле строки с заданным именем и вывод этой строки в переменную

Сделал .bat, но он не работает. Скидывает на "Режим вывода команд на экран (ECHO) отключен."

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

for /f "delims=" %%a in ('dir /b /s /a-d "*.txt"') do (
For /F "tokens=1* delims==" %%i In (%%a) Do Set %%i=%%j

echo %Stroka%
)
)


megaloman 22-12-2019 17:07 2901656

Цитата:

Цитата BobiBob
в каждом найденном файле строки с заданным именем »

Как понять? Как это имя задано? И где его искать: в имени txt-файла или в содержимом?
Цитата:

Цитата BobiBob
Скидывает на "Режим вывода команд на экран (ECHO) отключен." »

А Вы что-то иное хотели? :lol: Вы где-нибудь определили переменную %Stroka% чтобы увидет её содержимое?
Попробуйте проделать findstr /? >D:\findstr.txt и почитать в файле D:\findstr.txt хелп к этой команде. Возможно там путь к решению.

alpap 22-12-2019 17:54 2901663

megaloman,
ну почему
Цитата:

Цитата megaloman
Вы где-нибудь определили переменную %Stroka% чтобы увидет её содержимое »

вполне имеет место быть согласно
Цитата:

Цитата BobiBob
Set %%i=%%j »

т.е. в файле может быть строка:
Stroka=Значение
и вывод был бы очевидным, но только если бы в 7й строке было записано как и подобает для ...enabledelayedexpansion
Код:

...
echo !Stroka!
...


BobiBob 22-12-2019 21:41 2901692

Цитата:

Цитата alpap
alpap »

Спасибо. Я столько времени потратил, чтобы встроить этот код в другой скрипт, что просто не заметил написанных % вместо !. Теперь работает.


Время: 00:32.

Время: 00:32.
© OSzone.net 2001-