У меня есть несколько файлов, которые я запускаю с пакетным файлом, который перебирает всех в каталоге и выгружает определенные данные в таблицу sql. Я добавляю в метку времени, что я перехожу в переменную и пытаюсь добавить в таблицу sql, используя sqlcmd, единственная проблема заключается в том, что для добавления во все соответствующие столбцы для этой записи мне нужно передать имена файлов которые добавляются в таблицу sql.Использование findstr для перехода к переменной
Хорошо, вот уловка ... имена, добавляемые в таблицу sql, не являются фактическими именами файлов, а именами баз данных, которые могут быть найдены в каждом из этих xml-файлов (достаточно близко к xml). Поэтому я знаю, где это, и каждый из них выглядит примерно так: abcdir (остальное имя), где abcdir - это строка, которая запускает каждую отдельную базу данных.
Поэтому я думал, что могу использовать функцию findstr для получения имени базы данных, но у меня очень мало опыта с регулярным выражением, и я бы хотел, чтобы вы могли анализировать теги и оставались только с именем = abcdir (остальные имя)
** * Я не думал, что какой-либо из моих кодов действительно понадобится, так как я просто задаю вопросы о конкретной команде, но если это не так, дайте мне знать, и я отправлю его * **
EDIT: Хорошо, поэтому каждый файл будет иметь что-то вроде этого, если его открыть в блокноте.
<Name>ABCDir Sample Name</Name>
или
<Name>ABCDir Sample Name2</Name>
, и я хотел бы ABCDir Sample имени будут переданы переменным пакет. Поэтому я решил использовать findstr. У меня очень мало схватывания регулярного выражения, но я попытался с помощью findstr >ABCDir[A-Za-z] \path\filename.ext
'findstr' полезно найти строки, содержащие строки, но он не вернет * только * совпадение. Он всегда возвращает всю строку. Вам может понадобиться проанализировать строку с помощью 'for/f 'delims = <>" 'или что-то. Лучше всего было бы использовать [gnuwin32 grep] (http://gnuwin32.sourceforge.net/packages/grep.htm) и 'grep -Eio 'name = [^"] +' или подобное. Но да, я подумайте, что было бы полезно, если бы вы могли опубликовать какой-то пример достаточно близко XML, а также код, который вы пытались очистить, что не удалось. – rojo
Я добавил редактирование. Одна проблема, которую я имел с findstr что у меня нет одного файла слов, и кажется, что если я вложу в findstr \ path \ Это мой файл name.ext Он вернет 'FINDSTR: не может открыть путь FINDSTR: не удается открыть этот FINDSTR: не удается открыть 'и так далее – David