我在Windows cmd上运行以下命令行,该命令行运行一些带有选项的自定义二进制文件:
DataReader.exe -s test -t "tag:=code1 OR tag:=code2" --estimatedTagscount 40 --enableWrite --outFileName "C:\temp\data_test" –printTags
因为我有很多标签-代码1,代码2等,最多500个,并且不想将所有内容都放在cmd行中,所以我如何创建bat文件,而不是让所有代码都指向文件包含所有内容代码?
谢谢, S
答案 0 :(得分:0)
这是一个可能执行此操作的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
答案 1 :(得分:0)
您可以这样做:
for /l %x in (1, 1, 100) do DataReader.exe -s test -t "tag:=code%x ...