Batch file 如何使用powershell或批处理脚本将文件名从abc_10072019.txt转换为abc_20191007.txt

Batch file 如何使用powershell或批处理脚本将文件名从abc_10072019.txt转换为abc_20191007.txt,batch-file,filenames,date-conversion,powershell,Batch File,Filenames,Date Conversion,Powershell,如何使用PowerShell或批处理脚本转换文件名中的日期格式 例如:abc_10072019.txt到abc_20191007.txt完整的批处理脚本:(使用当前日期重命名) 验证回声是否符合要求后,移除回声。对于基本解决方案,您可以尝试: @For/F“Delims=|”%#In('^'''''''''''%.'''.'AppDir.''.'where.exe.:'.''.''''.''''.''''.'''.'''.''.'''.'.''.''.''.'.'.'''.'.'.'.'.txt

如何使用PowerShell或批处理脚本转换文件名中的日期格式 例如:
abc_10072019.txt
abc_20191007.txt
完整的批处理脚本:(使用当前日期重命名)

验证回声是否符合要求后,移除回声。

对于基本解决方案,您可以尝试:

@For/F“Delims=|”%#In('^'''''''''''%.'''.'AppDir.''.'where.exe.:'.''.''''.''''.''''.'''.'''.''.'''.'.''.''.''.'.'.'''.'.'.'.'.txt.txt 2^>num
如果您对输出感到满意,请删除
Echo=
以实际执行重命名

请注意,没有进行任何检查以确保basename的最后八个字符是有效的日期字符串


这里有一个可能的选项,可以从以下位置运行:

@“%\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.txt'-EA SilentlyContinue |{!$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

如果您对输出感到满意,请删除
-WI
以实际执行重命名。

“我需要”不是问题!请乘坐,参观,在这里学习!然后你会发现你必须自己做一些努力,你需要通过回答你的问题来分享其中的一部分……对不起,我看不出你的答案与所问的问题有什么关系。所需的只是将basename的最后四个字符移动四个字符。如何使用powershell脚本执行相同操作问题并不清楚,因为它没有明确说明是要使用当前日期还是问题中的日期更改日期格式。相反,问题和标题都非常清楚!。。。约会的事情非常清楚。不清楚是否只有一个或多个文件,以及它们是否都在一个文件夹中或分散在多个子文件夹中。这个问题只涉及一个文件,但请求脚本表明有很多文件。
@echo off
for /f "tokens=2,3,4 delims=/ " %%a in ('%date%') do (set date=%%a & set month=%%b & set year=%%c)
ren  abc_10072019.txt abc_%year%%month%%date%.txt
goto :eof
@echo off
setlocal enabledelayedexpansion
break>abc_10072019.txt
for %%f in (*_*2019.txt) do (
  for /f "tokens=1,* delims=_" %%a in ("%%~nf") do (
    set "dat=%%b"
    set "newdat=!dat:~4!!dat:~0,2!!dat:~2,2!
    ECHO ren "%%f" "%%a_!newdat!%%~xf"
  )
)