Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在windows批处理脚本中剪切字符串时出现错误消息_Windows_Batch File - Fatal编程技术网

在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

我正在编写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 =.%") 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?