[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] BAT重命名所有目录下所有子文件夹内的文件

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

  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
复制代码
1

评分人数

QQ 33892006

TOP

回复 2# yhcfsr
谢谢大侠

TOP

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

目录深度无限制

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

TOP

返回列表