在windows批处理脚本中剪切字符串时出现错误消息
我正在编写Windows批处理脚本,下面的一行总是给出错误消息,但如果直接从命令行运行,它工作正常在windows批处理脚本中剪切字符串时出现错误消息,windows,batch-file,Windows,Batch File,我正在编写Windows批处理脚本,下面的一行总是给出错误消息,但如果直接从命令行运行,它工作正常 IF %p_monitorName%=="workflow_failed" ( for /F "tokens=1 delims=," %a in ("%p_monitorStatus: by =.%") do for /F "tokens=3 delims=:" %b in ("%a: by =.%") do for /F "tokens=1 delims= " %c in ("%b by
IF %p_monitorName%=="workflow_failed" (
for /F "tokens=1 delims=," %a in ("%p_monitorStatus: by =.%") do for /F "tokens=3 delims=:" %b in ("%a: by =.%") do for /F "tokens=1 delims= " %c in ("%b by =.%") do echo %c >> %scriptdir%\..\logs\SIS2OVOOutput.txt
)
以下是错误消息:
9480 ERROR: , Unknown error (255) end perfex
在bat文件中,您必须在for循环中使用
%%
而不是%%
:
IF %p_monitorName%=="workflow_failed" (
for /F "tokens=1 delims=," %%a in ("%p_monitorStatus: by =.%") do for /F "tokens=3 delims=:" %%b in ("%%a: by =.%") do for /F "tokens=1 delims= " %%c in ("%%b by =.%") do echo %%c >> %scriptdir%\..\logs\SIS2OVOOutput.txt
)
应该是这样。你的脚本有一些问题,但为了帮助你,我首先需要它的目的和预期逻辑。为什么你三次试图用
替换,
?你在批处理文件中使用%%
而不是%%
?我试图剪切字符串,在命令行中,这是有效的,我是shell脚本,这是我第一次在windows中编写脚本,我正在使用%c而不是%%c。例如,我将编辑此脚本。如何在脚本中的其他地方使用%%c?