如何将%random%放入带批处理文件的新批处理文件中?

时间:2016-04-17 15:06:53

标签: batch-file random

我想将其转移到另一个.bat文件

errorDisplayTimeout: 3000,
loadError: function (jqXHR, textStatus, errorThrown) {
    $(this).jqGrid("displayErrorMessage", "My custom error message");
}

所以我试过这个:

echo %random% > test.bat
set /a num= +1 
:repeat1 
set /a num= +1 
echo %random% >> test.bat
if ==100 goto end 
goto repeat1

但是%%的东西不起作用(它会添加一个随机数字,但我想在 .bat文件中<%>% .bat文件< / p>

1 个答案:

答案 0 :(得分:1)

如果你想按字面意思写它们,你必须逃避一些字符。其中大部分都使用插入符^&<>|进行了转义。百分号是一个例外:它使用另一个百分号转义:`

echo %%random%% ^> test.bat

但是我可以建议另一种方法来编写你的第二个bat文件(不需要关心角色逃脱):

@echo off
for /f "delims=:" %%i in (' findstr /n /c:":: Start of Second ::" "%~dpnx0"') do set start=%%i
more +%start% "%~dpnx0" >test.bat
call test.bat
echo -------
type test.txt
echo -------

goto :eof
:: Start of Second ::
@echo off
echo %random% >test.txt
set /a num=0 
:repeat1 
  set /a num+=1 
  echo %random% >>test.txt
  if %num%==10 goto :eof
goto .repeat1

for用于确定要写入的数据的起始行, more +n通过跳过第一行"~dpnx0"行来写入文件(n是当前正在运行的批处理文件)。

Pro:无需转义任何内容 - 只需编写应输出的数据。

Contra:只有一个“第二档”可能;只能使用静态文本。