在嵌套的 for 循环中未正确设置变量
Variable not being set properly in a nested for loop
我已经搜索了无数关于这个主题的帖子并多次更改代码,但使用以下(更新的)代码的最终结果始终是 myfiledateNow 变量为空。谁能帮忙?谢谢!
代码:(见下面的结果)
@SETLOCAL ENABLEDELAYEDEXPANSION
set themes=CDTNEW,CFTNEW
for %%z in (%themes%) do (
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Helper\%%~z_Now.csv"
for %%a in (!Now!) do (
set myfiledateNow=%%~ta
)
)
结果:
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>set themes=CDTNEW,C
FTNEW
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>for %z in ("CDTNEW"
"CFTNEW") do (
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\%~z_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\CDTNEW_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(set myfiledateNow=
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\CFTNEW_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(set myfiledateNow=
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>Pause
Press any key to continue . . .
根据您不完整的问题,以下是我能提供的最佳信息。
Set "fDir=%UserProfile%\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Helper"
For /F "Delims==" %%A In ('"(Set fDT[) 2>Nul"') Do Set "%%A="
For %%A In (CDTNEW,CFTNEW) Do For %%B In ("%fDir%\%%A_Now.csv") Do Set "fDT[%%A]=%%~tB"
Set fDT[ 2>Nul & Pause
我已经搜索了无数关于这个主题的帖子并多次更改代码,但使用以下(更新的)代码的最终结果始终是 myfiledateNow 变量为空。谁能帮忙?谢谢!
代码:(见下面的结果)
@SETLOCAL ENABLEDELAYEDEXPANSION
set themes=CDTNEW,CFTNEW
for %%z in (%themes%) do (
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Helper\%%~z_Now.csv"
for %%a in (!Now!) do (
set myfiledateNow=%%~ta
)
)
结果:
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>set themes=CDTNEW,C
FTNEW
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>for %z in ("CDTNEW"
"CFTNEW") do (
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\%~z_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\CDTNEW_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(set myfiledateNow=
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(
set "Now=C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Help
er\CFTNEW_Now.csv"
for %a in (!Now!) do (set myfiledateNow=%~ta )
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>(set myfiledateNow=
)
C:\Users\psnider\Documents\Stuff\MISCELLANEOUS\ArchiveAurora>Pause
Press any key to continue . . .
根据您不完整的问题,以下是我能提供的最佳信息。
Set "fDir=%UserProfile%\Documents\Stuff\MISCELLANEOUS\ArchiveAurora\Files_Helper"
For /F "Delims==" %%A In ('"(Set fDT[) 2>Nul"') Do Set "%%A="
For %%A In (CDTNEW,CFTNEW) Do For %%B In ("%fDir%\%%A_Now.csv") Do Set "fDT[%%A]=%%~tB"
Set fDT[ 2>Nul & Pause