如何查找批处理包含命令的字符串

时间:2015-03-27 01:58:41

标签: batch-file

计算器。

我最近为我的一位朋友批量处理了一个重大项目。 我知道有更好的方法可以做到这一点,但我只想挑战批量编码:)

所以,这是我的问题:

我希望能够找到一个名为:

的字符串
if "%MORELISTINPUT%"=="%COUNTER2%" goto blablatest2

现在遇到了挑战,到目前为止我已经使用过这段代码了:

@ECHO OFF
(
  FOR /F "tokens=*" %%A IN (moreserver.bat) DO (
    ECHO %%A
    IF "%%A" EQU "if "%MORELISTINPUT%"=="%COUNTER2%" goto blablatest2" (
      echo if "%%MORELISTINPUT%%"=="%%COUNTER2%%" goto %NEWNAME%
    )
  )
) >moreserverout.txt
pause

但它只是找不到文字。 (我认为这是由于命令和变量,但我不确定)

我尝试在变量周围添加%,在命令和变量之前添加了^,它只是不起作用。

我如何将包含命令和变量的字符串用作纯文本?

提前致谢!

〜尼古拉斯

编辑:这是指向我的"项目文件"

的链接

对我不起作用,抱歉^^ 我在一个更大的程序中调用这个小程序,当我运行它时,它只显示一行说

%% MORELISTINPUT %%" ==" %% COUNTER2 %%"转到%NEWNAME%

每一行之间。 (它列出了cmd窗口中moreserver.bat文件中的所有行)

这是指向完整文件的链接:

http://pastebin.com/u/MinervaXcel

前4个名为" WoW Client Config"是那些使用的。

"主"正如所说的那样。 " Chooseserver.bat"是包含相关代码的那个! :)

1 个答案:

答案 0 :(得分:1)

使用

IF "%%A" EQU "if "%%MORELISTINPUT%%"=="%%COUNTER2%%" goto blablatest2" (

就像你在以下一行(为我工作)所做的那样