我正在尝试为我经常执行的任务编写一个小的批处理文件。我以前从未使用过for,这是我第一次尝试使用它。到目前为止,这是我自带的:

for /f %i in  ('ct find . -ver lbtype(%1) -print') do ct lsvt -g %i

基本上,它会尝试查找具有给定cleracase标签的所有文件,然后显示这些文件的版本树。问题出在%1中。但是,当我尝试在某个时间运行此命令时,出现一条错误消息,表明未预期到-print ),或者有时在其他情况下,它仅在命令提示符下打印此命令。我猜它在多个同构之间变得困惑了。有什么线索可以解决吗?

最佳答案

尝试引用for中正在执行的命令:

for /f %i in  ('"ct find . -ver lbtype(%1) -print"') do ct lsvt -g %i

这对于我使用带括号的args的类似命令很有用。

另外,(您可能已经知道),当您将命令放入批处理文件而不是在命令行中运行时,您需要对'%'变量的for字符加倍:
for /f %%i in  ('"ct find . -ver lbtype(%1) -print"') do ct lsvt -g %%i

关于windows - 在批处理文件中编写循环的语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2763627/

10-14 18:46