指向bat文件中的文件

时间:2018-06-28 08:41:01

标签: batch-file cmd

我在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

2 个答案:

答案 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 ...