Board logo

标题: [文件操作] BAT重命名所有目录下所有子文件夹内的文件 [打印本页]

作者: gitigou    时间: 2019-1-3 15:12     标题: BAT重命名所有目录下所有子文件夹内的文件

目录123下有很多子目录:
S30、W19...
这些子目录下都有许多文件,我现在想把这些文件命名成:子目录的文件名_文件原名
比如S30下的文件命名成 S30_表情.jpg,S30_记事本.txt...
W19下的文件命名成 W19_报表.xlsx,W19_示例.zip...
还有文件位置我想用输入框输入,怎么做?求大侠帮助
作者: yhcfsr    时间: 2019-1-3 15:59

  1. @echo off
  2. :start
  3. cls
  4. ::运行时设置要处理的公目录
  5. set/p "SrcDir=请输入公目录路径:"
  6. if not exist "%SrcDir%" echo;目录不存在:"%SrcDir%"&pause>nul&goto :start
  7. cd/d "%SrcDir%"
  8. for /d %%a in (*) do (
  9. pushd "%%a"
  10. for /f "delims=" %%b in ('dir /a-d/b') do ren "%%b" "%%a_%%b"
  11. popd
  12. )
  13. pause&exit
复制代码

作者: gitigou    时间: 2019-1-3 16:52

回复 2# yhcfsr
谢谢大侠
作者: ivor    时间: 2019-1-3 20:56

本帖最后由 ivor 于 2019-1-3 22:01 编辑

目录深度无限制

required:powershell 3.0
  1. dir * -path 123 -Recurse -File | %{$_.MoveTo(-Join($_.DirectoryName,"\",$_.Directory.Name,"_",$_.Name))}
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2