Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Извлечь числовой код из тектового файла

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


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

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


Привет, задачка на поиск числа
Имеется файл, полный символьной абракадабры,
но в нем есть код вида 1111-222-000.
Код может иметь любое числовое значение в указанном формате и находиться где угодно в файле, это самое важное условие.
Как добыть этот код скажем на экран?

Отправлено: 12:44, 28-07-2016

 

Ветеран


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

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


Цитата perjes:
полный символьной абракадабры, »
Символьной ли? Упакуйте образец в архив и приложите к сообщению.

Отправлено: 15:55, 28-07-2016 | #2



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

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


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


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

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


Вложения
Тип файла: 7z t.7z
(563 байт, 20 просмотров)

пример во вложении
положение искомого кода в тексте может быть разным

Отправлено: 16:35, 28-07-2016 | #3


Ветеран


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

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


Попробуйте так (WSH):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFile
Dim strContent

If WScript.Arguments.Count = 1 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FileExists(strSourceFile) Then
			With .OpenTextFile(strSourceFile)
				strContent = .ReadAll()
				.Close
			End With
			
			With WScript.CreateObject("VBScript.RegExp")
				.Global = True
				.Pattern = "\d*-\d*-\d*"
				
				If .Test(strContent) Then
					WScript.Echo .Execute(strContent).Item(0).Value
				Else
					WScript.Echo "Nothing found"
					WScript.Quit 3
				End If
			End With
		Else
			WScript.Echo "Can't find source file [" & strSourceFile & "]."
			WScript.Quit 2
		End If
	End With
Else
	WScript.Echo "Usage: wscript.exe " & WScript.ScriptName & " <Source file>"
	WScript.Quit 1
End If

WScript.Quit 0

Сохраните приведённый код в файл с расширением «.vbs». Путь к искомому файлу указывается аргументом скрипта (также можно просто перетянуть исходный файл на скрипт в Проводнике).

P.S. Содержимое результирующего окна MessageBox можно скопировать в буфер обмена просто нажав в нём «Ctrl-C»:
Скрытый текст
Код: Выделить весь код
---------------------------
Windows Script Host
---------------------------
3213333-2342342-999
---------------------------
ОК   
---------------------------

Отправлено: 19:08, 28-07-2016 | #4


Ветеран


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

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


perjes,
Например так:
Код: Выделить весь код
@echo off
<"t.txt" (for /f "tokens=1-3 delims=-" %%a in ('more^|findstr/rc:"\<[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]\>"') do @(set "t1=%%a"& set "t3=%%c"& cmd/v/c echo !t1:~-4!-%%b-!t3:~,3!))
pause>nul
все будет зависеть от того что в строках, будет в этой строке символ "-", этот код уже поломается.
Это сообщение посчитали полезным следующие участники:

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


Ветеран


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

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


Цитата alpap:
findstr/rc:"\<[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]\>" »
alpap, там может быть любое число: сравните пример, приведённый автором в первом сообщении, и выложенный им же позже образец.

Отправлено: 21:54, 28-07-2016 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Извлечь определенные строки по счету из одного тхт файла в другой Alexander_88 Скриптовые языки администрирования Windows 11 13-06-2015 12:48
[решено] Как извлечь звук из файла .3gp? Drongo Видео и аудио: обработка и кодирование 4 15-02-2013 21:41
Прочие БД - Восстановить или извлечь данные из Jetxxx.tmp, временного файла MS Access DB tweaxl Программирование и базы данных 2 18-06-2012 02:03
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. Nun-Nun Скриптовые языки администрирования Windows 6 13-05-2009 13:28
Как извлечь аудиодорожку из файла .vob? erk Видео и аудио: обработка и кодирование 8 01-03-2009 16:23




 
Переход