使用批处理文件在循环中设置变量

时间:2018-11-22 18:50:40

标签: batch-file

我要遍历所有文件,并从文件夹C:\data中的每个文件名中获取日期。

假设我们在data文件夹中有两个文件

  

abc_CDK_KPMG_11222018.txt
  mgk_CDK_KPMG_10222018.txt

我写了剧本:

FOR /R  C:\data\ %K in (*.txt) do (
set fileName=%~nK
set fileName=%fileName:~-8%
echo.%date2%
)

我从上面的脚本中获取了文件名和日期,但是如何从两个文件中获取日期?

1 个答案:

答案 0 :(得分:0)

您需要enable delayedexpansion。请参阅cmdline中的set /?setlocal /?

第二,您设置了filename,但是回显%date2%,我想您想要这样做:

@echo off
setlocal enabledelayedexpansion
FOR /R "C:\data\" %K in (*.txt) do (
 set fileName=%~nK
 set fileName=!fileName:~-8!
 echo !filename!
 )