Включить вывод findstr, который содержит имя SP в sqlcmd

Как мне включить вывод findstr, который извлекает мне имя сохраненного процесса в sqlcmd?

@ECHO OFF    
FOR %%f IN ( *.sql) DO (
var xyz = echo %%f | findstr "^test*"
sqlcmd -d databaseX -S server -e -i xyz
)

где xyz будет оцениваться как testStoredProc1.sql, testStoredProc2.sql и так далее. Эти хранимые процедуры имеют инструкции update/insert и select. Как я могу зафиксировать значение xyz и передать его в sqlcmd?


person Eve    schedule 10.12.2014    source источник


Ответы (1)


@echo off


for  %%f in (test*.sql) do (

  sqlcmd -d databaseX -S server -e -i %%f

)

НЕ ИСПЫТАНО!

Для получения дополнительной информации см. FOR /F , SET, DelayedExpansion

person npocmaka    schedule 10.12.2014
comment
Я получаю эту ошибку при выполнении Следующее использование оператора пути в подстановке пакетного параметра недопустимо: %~ff') do set xyz=%%X - person Eve; 10.12.2014
comment
@Eve - ааа, да. Требуется двойной %. Сейчас исправлено. - person npocmaka; 10.12.2014
comment
Я снова сталкиваюсь с ошибкой. Sqlcmd: '-i': отсутствует аргумент. Войти '-?' для помощи. Похоже, он не идентифицирует !xyz! - person Eve; 10.12.2014
comment
@Eve - можете ли вы включить в свой вопрос пример файла .sql и уточнить, как выглядит строка, которую следует извлечь? - person npocmaka; 10.12.2014
comment
@Eve, значит, ты хочешь фильтровать файлы, начинающиеся с test? - person npocmaka; 10.12.2014
comment
Да. Только файлы, начинающиеся с test - person Eve; 10.12.2014