我有几个包含以下内容的.pdf文件:
filename_garbage.pdf我想通过一下子删除_garbage来重命名这些文件
filename.pdf文件名是唯一的,_garbage也是可变长度的。
即:
123456_1.pdf
789012_1000.pdf
345678_garbage.pdf重命名为:
123456.pdf
789012.pdf
345678.pdf我知道这是一个多步骤的过程,但到目前为止还没有取得任何成功。
发布于 2016-04-07 09:16:21
for /f "tokens=1*delims=_" %%a in ('dir /b "*_*.*"') do ren "%%a_%%b" "%%a%%~xb"建议您在愤怒中应用脚本之前,先对ren命令执行echo命令以进行验证。
如果直接从提示符运行,请将%%n减少为%n
发布于 2016-04-07 06:58:16
在Windows Vista或更高版本上?使用PowerShell。用一种相当现代的语言,这是一个一步到位的过程。
gci | ren -NewName { $_ -replace '_.*(?=\.)' }它的缩写是
Get-ChildItem .\ | Rename-Item -NewName { $_ -replace '_.*(?=\.)' }替换模式是一个正则表达式,它匹配一个下划线_,后跟任何内容,直到一个点.,它不会替换任何内容。所以在你的例子中,它取代了_1,_1000,_garbage。
https://stackoverflow.com/questions/36412274
复制相似问题