批处理如何去除文件名里固定日期格式xxxx_xx_xx_,只保留文字?-灵析社区

Kapp啊$0920

如题,想要用批处理来生成文件夹下的文件名并输出到LIST.txt文件里(过滤.bat文件),但是写来写去还是不太懂要怎么搞。 因为一直无法达到要求就打算曲线救国,结果曲线也不成功,以下是曲线代码= = **文件夹里的文件** > 1.bat > 2023_09_09_测试啊.docx > 测试什么呢.pdf **LIST.txt最终期望输出效果** > 测试啊 > 测试什么呢 @echo off setlocal EnableDelayedExpansion set "outputFile=LIST.txt" :: 清空输出文件,确保没有旧数据 type nul > "%outputFile%" for /f "tokens=1-5 delims=_." %%i in ('dir /b /o:d') do ( if not "%%j"=="txt" ( if not "%%j"=="bat"( echo %%i %%l >> %outputFile% ) ) ) ::pause>nul endlocal

阅读量:303

点赞量:14

问AI
七厦
如果你使用 Windows 7 及以上,可以考虑使用 powershell,而不是 bat(批处理)。 将下面的代码保存为后缀为 ".ps1" 的文件即可。 Get-ChildItem | Where-Object { $_.Extension -ne '.bat' } | ForEach-Object { $_.BaseName -replace '^\d{4}_\d{2}_\d{2}_', '' } | Out-File -FilePath "all.txt" -Encoding UTF8