Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск тега с помощью bat

Ответить
Настройки темы
CMD/BAT - Поиск тега с помощью bat

Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем Привет.
Подскажите решение проблемы: мне нужно что бы bat-ник в xml фаиле (текст идет сплошняком) находил тег <ID>*****</ID> и выводил его на экран и как опция брал его еще и буфер (если возможно), фаил лежит всегда по одному пути (меняется только буква диска, поэтому нужна переменная с запросом диска), максимум что я смог сделать это:

echo off
cls
set /p x=Enter Letter:
for /f "usebackq tokens=*" %%a in ("%x%:\1\file.txt") do (echo %%~a)
pause

но оно работает только в txt =( и выводит все.
PS
Извиняюсь за безграмотность (если глупость написал), ожидаю всезнающего гуру в поисках просветления

Отправлено: 17:00, 07-10-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Какая у вас версия виндоус, »
Судя по скриншоту — Windows XP. Там как раз нет «clip.exe» в комплекте. maxd2007, возьмите «clip.exe» из комплекта Resource Kit'а.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:35, 09-10-2013 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата Iska:
возьмите «clip.exe» из комплекта Resource Kit'а. »
Как вариант комбайн, который не будет лишним, а в XP, имхо, просто необходим. С помощью Nircmd:
Код: Выделить весь код
...

for /f "tokens=2 delims=!" %%i in ( "%content%" ) do (

    echo %%i
    nircmdc clipboard set %%i

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:48, 09-10-2013 | #12


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


У меня основная винда ХР х32 и да, по пути C:\Windows\System32\clip.exe этого фаила нет, может есть сторонние утилиты или может можно как то с 8 ки портировать

Отправлено: 16:08, 10-10-2013 | #13


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата maxd2007:
может есть сторонние утилиты »
Цитата Foreigner:
С помощью Nircmd: »
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:13, 10-10-2013 | #14


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо всем большое, все работает как надо. Resource Kit не помог, но я нашел отдельно clip.exe и кинул его в windows\system32 и все теперь работает и берет в буфер.

Отправлено: 18:44, 10-10-2013 | #15


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#Powershell script.
#Don't forget unlock script executing by 
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension
$CurPath=(Read-Host -Prompt "Введите имя диска")+"\1\file.txt"
[windows.forms.Clipboard]::Clear()
[xml]$xml=gc $CurPath
$CurId=$xml.Device.Id.ToString()
if (($str -ne $null) -and ($str -ne '')) {
    [Windows.Forms.Clipboard]::SetText($CurId)
}
"ID=$CurId"

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Отправлено: 18:03, 11-10-2013 | #16


Ветеран


Сообщения: 2183
Благодарности: 721

Профиль | Отправить PM | Цитировать


Помогите распарсить файл с выводом в переменные значения между тегами DISPLAYDESCRIPTION
Заморочка в наличии пробелов в искомых значениях.

Последний раз редактировалось sov44, 10-11-2016 в 23:27.


Отправлено: 17:09, 10-07-2016 | #17


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


sov44, Вариант через задницу:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in ('type 11-1.txt') do set "content=%%i"

set "content=%content:<DISPLAYDESCRIPTION>=DD___%"
set "content=%content: =___%"
set "content=%content:<=,%"
set "content=%content:>=,%"

for %%i in (%content%) do (

    for /f "tokens=*" %%j in ('"echo %%i | findstr "DD___""') do call:0 %%j

)

goto:eof

:0

set "result=%~1"
set "result=%result:DD___=%"
set "result=%result:___= %"

echo %result%
PowerShell
Код: Выделить весь код
([xml](gc 11-1.txt)).WIM.IMAGE.DISPLAYDESCRIPTION
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:18, 10-07-2016 | #18


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


sov44,
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
<"11.txt">>"111.txt" (
 for /f "delims=" %%a in ('more') do @(
  set "s=%%a"& set "s=!s: =_!"& set "s=!s:><=> <!"
  for %%b in (!s!) do @(
   for /f "tokens=3 delims=<>" %%c in ('echo "%%b"^|find "DISPLAYDESCRIPTION"') do @(
    set "ns=%%c"& echo !ns:_= !
   )
  )
 )
)
exit
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:21, 10-07-2016 | #19


Ветеран


Сообщения: 2183
Благодарности: 721

Профиль | Отправить PM | Цитировать


alpap, точно, "s=!s: =_!"

Скрипт считает, но долго. Есть-ли иной способ, более шустрый на bat или на гибридном бат?

Последний раз редактировалось sov44, 10-07-2016 в 23:09.


Отправлено: 22:52, 10-07-2016 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск тега с помощью bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
CMD/BAT - Поиск с помощью Bat ника shiroq Скриптовые языки администрирования Windows 11 10-10-2013 07:47
CMD/BAT - поиск с помощью Find cyber_ua Скриптовые языки администрирования Windows 4 20-03-2012 16:40
CMD/BAT - [решено] bat поиск cyber_ua Скриптовые языки администрирования Windows 9 28-02-2012 01:18
[решено] Вытянуть содержание HTML тега с помощью регулярных выражений aesir AutoIt 4 28-08-2009 21:22




 
Переход