Batch file 在这个时候,这是出乎意料的。错误255

Batch file 在这个时候,这是出乎意料的。错误255,batch-file,Batch File,我有一个清除所有用户缓存文件的批处理脚本 REM Set file locations for temp/history/cookies files. SET SRC1=C:\Users SET SRC2=AppData\Local\Microsoft\Windows\Temporary Internet Files SET SRC3=AppData\Local\Microsoft\Windows\History SET SRC4=AppData\Local\Temp SET SRC5=AppD

我有一个清除所有用户缓存文件的批处理脚本

REM Set file locations for temp/history/cookies files.
SET SRC1=C:\Users
SET SRC2=AppData\Local\Microsoft\Windows\Temporary Internet Files
SET SRC3=AppData\Local\Microsoft\Windows\History
SET SRC4=AppData\Local\Temp
SET SRC5=AppData\Roaming\Microsoft\Windows\Cookies
SET SRC6=AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5

REM begin cleaning internet files
echo cleaning temporary internet files
FOR /D %%X IN ("%SRC1%\*") DO FOR /D %%Y IN ("%%X\%SRC2%\*.*") DO RMDIR /S /Q "%%Y"

REM begin cleaning history files
echo cleaning history
FOR /D %%X IN ("%SRC1%\*") DO FOR /D %%Y IN ("%%X\%SRC3%\*.*") DO RMDIR /S /Q "%%Y"

REM begin cleaning windows temp files
echo cleaning windows temp files
FOR /D %%X IN ("%SRC1%\*") DO FOR /D %%Y IN ("%%X\%SRC4%\*.*") DO RMDIR /F /S /Q "%%Y"
FOR /D %%X IN ("%SRC1%\*") DO FOR %%Y IN ("%%X\%SRC3%\*.*") DO DEL /F /S /Q "%%Y"
FOR /D %%X IN ("%SRC1%\*") DO FOR %%Y IN ("%%X\%SRC4%\*.*") DO DEL /F /S /Q "%%Y"

REM begin cleaning Cookies folder
echo cleaning Cookies
FOR /D %%X IN ("%SRC1%\*") DO FOR %%Y IN ("%%X\%SRC5%\*.*") DO DEL /F /S /Q "%%Y"

REM del C:\temp folder
FOR /D %%X IN ("%windir%\temp\*") DO RMDIR /F /S /Q "%%X"
DEL /f /s /q "%windir%\temp"

REM Del Temp Internet Files
FOR /D %%x in ("%SRC6%\*") DO FOR %%Y DO DEL /F /S /Q "%%Y"
FOR /D %%x in ("%SRC1%\*") DO FOR %%Y IN ("%%X\%SRC6%\*.*") DO DEL /F /S /Q "%%Y"

:END
通过psexec运行此命令时,我收到以下错误:

DO was unexpected at this time.
batch file exited on PCNAME with error code 255.
在其他Windows7和XP机器上,我能够运行这个程序,并且我得到一个错误,表明它成功了

这是我第一次看到这个错误,但我似乎无法缩小错误的范围。

有人能再借给你一双眼睛吗?

请看下面代码中的几行

...
REM Del Temp Internet Files
FOR /D %%x in ("%SRC6%\*") DO FOR %%Y DO DEL /F /S /Q "%%Y"
...
嵌套的
FOR
循环的(…)部分缺少

因此:
DO此时是意外的。

一个表示它成功的错误。
您不能得到“一个表示它成功的错误”,因为一个错误会阻止它成功。此外,您有太多的DO语句,没有任何信息,因此可以将其缩小到一个可能的问题。插入可用于将问题隔离到代码更集中区域的ECHO语句。