Windows 7 批处理filre在Win Server 2003上运行,但不在Windows 7上运行

Windows 7 批处理filre在Win Server 2003上运行,但不在Windows 7上运行,windows-7,batch-file,windows-server-2003,Windows 7,Batch File,Windows Server 2003,我有以下批处理脚本: @echo off FOR /F "delims=|" %%I IN ('DIR "*.*" /B /O:D') DO (SET %NewestFile=%%I) echo %NewestFile% 在windows2003服务器上它按预期工作并输出最新文件 IntelMPFilesPath=C:\Programme\Intel\NGSMS\MPFiles IntelMPFilesPath=C:\Programme\Intel\NGSMS\MPFiles test.bat

我有以下批处理脚本:

@echo off
FOR /F "delims=|" %%I IN ('DIR "*.*" /B /O:D') DO (SET %NewestFile=%%I)
echo %NewestFile%
windows2003服务器上
它按预期工作并输出最新文件

IntelMPFilesPath=C:\Programme\Intel\NGSMS\MPFiles
IntelMPFilesPath=C:\Programme\Intel\NGSMS\MPFiles
test.bat
但是在
Windows 7
上运行相同的批处理文件会产生以下结果:

Die Umgebungsvariable "I" ist nicht definiert.
Die Umgebungsvariable "I" ist nicht definiert.
Die Umgebungsvariable "I" ist nicht definiert.
Die Umgebungsvariable "I" ist nicht definiert.
ECHO ist ausgeschaltet (OFF).

有人知道Win7和Srv2003命令shell之间是否有那么大的区别吗?

我不知道为什么它在Server2003中工作。您有一个额外的
%

您应该删除
集合%newest文件中的
%

@echo off
FOR /F "delims=|" %%I IN ('DIR "*.*" /B /O:D') DO (SET NewestFile=%%I)
echo %NewestFile%

您可以删除
“delims=|”
并更好地设置
“delims=”
.hmm。这是trange,但我想我已经试过了,但这解决了我的问题,谢谢nate