Укажите файл в файле bat - PullRequest
0 голосов
/ 28 июня 2018

У меня следующая командная строка запускается на Windows cmd, который запускает некоторые пользовательские двоичные файлы с параметрами:

DataReader.exe -s test -t "tag:=code1 OR tag:=code2" --estimatedTagscount 40 --enableWrite --outFileName "C:\temp\data_test" –printTags

так как у меня много тегов - code1, code2 и т. Д., До 500 и я не хочу помещать все в строку cmd, как я могу создать bat-файл и вместо того, чтобы все коды указывали на файл, содержит все коды?

спасибо, S

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы можете сделать это:

for /l %x in (1, 1, 100) do DataReader.exe -s test -t "tag:=code%x ...
0 голосов
/ 28 июня 2018

Вот скрипт PowerShell, который может это сделать. У меня нет вашего DataReader.exe и я не могу его проверить.

Создайте файл codes.txt с каждым кодом в строке.

code1
code2
code3

Затем создайте файл сценария joincodes.ps1.

[cmdletbinding()]
Param()
$codes = Get-Content .\codes.txt
$line = 'tag:= ' + ($codes -join ' OR tag:=')
Write-Verbose $line

$args = '-s test -t "' + $line + '" --estimatedTagscount 40 --enableWrite --outFileName "C:\temp\data_test" --printTags'
Write-Verbose $args

& "DataReader.exe" $args

Если вам нужно запустить его из командной строки cmd.exe, поместите приведенный выше код в файл, такой как joincodes.ps1, а затем запустите его с:

powershell -NoProfile -File .\joincodes.ps1

Чтобы увидеть подробный вывод отладочной информации, используйте:

powershell -NoProfile -File .\joincodes.ps1 -Verbose
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...