我正在尝试创建一个批处理文件,该文件在一个for /d清单中的多个文件夹中运行,然后回显该文件夹中最古老的文件。最终,这将用于将文件移动到另一个文件夹。我遇到的问题是,如果不结束整个命令,就无法让for /f转义。setlocal enableextensions disabledelayedexpansion
for /D %%D in (%basefolder%) do (
FOR /F %%I IN ('DIR %%D\* /B /O:-D') DO echo "%%I"
=227|8=FIX.4.4|9=138|35=3|34=4|49=CfhDemoxxxx|52=20200220-00:14:06.826|56=xxxxxxx|45=3|58=Tag not defined=237|
8=FIX.4.4|9=138|35=3|34=5|49=CfhDemoxxxxx|52=20200220-00:14:2
我正在编写一个批处理文件,我想运行一个for循环,它将它的第一个值设置为一个变量。我只需要命令的第一个值,但找不到其他方法。设置它的方式是使用for循环,然后使用do语句,如果变量未设置,则设置变量。问题是当它运行时,循环每次都使用unset变量,而不是在第一个循环之后将其视为set。
例如,我的if说if "%foo%"=="" set foo=%%i,输出看起来像这个if "" == "" set foo="hello"下一个循环仍然是if "" == "" set foo=