batch-file - 如何使用 power shell 或批处理脚本将文件名从 abc_10072019.txt 转换为 abc_20191007.txt
问题描述
abc_10072019.txt
如何使用 PowerShell 或批处理脚本转换文件名中的日期格式例如:abc_20191007.txt
解决方案
对于基本的批处理文件解决方案,您可以尝试:
@For /F "Delims=|" %%# In ('^""%__AppDir__%where.exe" .:*_????????.txt 2^>NUL^"')Do @Set "_=%%~n#"&Call Echo=Ren "%%#" "%%_:~,-8%%%%_:~-4%%%%_:~-8,4%%%%~x#"
如果您对输出感到满意,请移除Echo=
以实际执行重命名。
请注意,没有进行检查以确保基本名称的最后八个字符是有效的日期字符串。
这是一个潜在的powershell选项,可以从批处理文件运行:
@"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoP "GCI -Filt '*_????????.txt' -EA SilentlyContinue|?{!$_.PSIsContainer -And $_.Name -Match '_[\d]{8}\.txt$'}|%%{RnI $_.Name $([DateTime]::ParseExact($_.BaseName.Split('_')[-1],'MMddyyyy',$Null)).ToString('yyyyMMdd') -WI}"
如果您对输出感到满意,请移除 -WI
以实际执行重命名。
推荐阅读
- google-places-api - 使用 Google Places API 返回城市中某个地点的所有位置
- javascript - Reactjs:从数组创建表
- flutter - 颤动底部到固定材质按钮
- javascript - 我在 DOM 中看不到 16x16 网格的列
- laravel - Inertia/Jetstream 将数据返回到页面而不重新渲染
- python - 删除 pandas 中不会被删除的行
- android - 每当我以非空断言的形式进行调用时,android studio 都会从其他相同的变量中删除警告
- excel - 如何在excel中将文本和时间戳列字段转换为日期
- coldfusion - 为什么 CFSchedule 因空指针错误而失败
- php - 为什么我的字符串变量被识别为空?