找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22774|回复: 6

[文件操作] 求助BAT脚本批量处理文件名

[复制链接]
发表于 2018-2-22 21:02:01 | 显示全部楼层 |阅读模式
当前目录下有很多文件,想在不改变原文件名的前提下,将所在文件夹的文件夹名加到文件名前。
发表于 2018-2-22 22:43:03 | 显示全部楼层
手机上打的,大概就是这意思,当前目录可以试一下
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (.) do (
  4. for %%i in (*.*) do (
  5. if /i not "%%~fi"=="%~f0" ren "%%~fi" "%%~na-%%~nxi"
  6. )
  7. )
  8. echo done!
  9. pause
复制代码
发表于 2018-2-23 00:33:47 | 显示全部楼层
:1
cd/d %~dp0
for /f "delims=" %%i in ('dir/ad/s/b "%cd%\*.*"')do (
for /f "delims=" %%j in ('dir/a-d/b "%%~fi\*.*"')do if /i not "%%~fi\%%~nxj"=="%~f0" (
  rem "%%~fi\%%~nxj" "%%~nxi-%%~nxj"
)
)
goto:eof
:2
cd/d %~dp0
for /f "delims=" %%i in ('dir/a-d/s/b "%cd%\*.*"')do if /i not "%%~fi"=="%~f0" (
for /f "delims=" %%j in ("%%~fi\..")do  (rem:回退两层则\..\..
  rem "%%~fi" "%%~nxj-%%~nxi"
)
)
goto:eof
 楼主| 发表于 2018-2-23 07:00:52 | 显示全部楼层
回复 2# idean


    谢谢了,当前目录执行成功,希望实现在上级目录执行,如下图:

要进行此操作的目录较多,拜托了
 楼主| 发表于 2018-2-23 07:08:21 | 显示全部楼层
回复 3# /zhqsystem/zhq


    非常感谢,但是测试后在上级目录和当前目录测试都没有成功,想实现如下图效果,谢谢。
 楼主| 发表于 2018-2-23 07:16:27 | 显示全部楼层
感谢二位帮忙,功能已经测试成功。
发表于 2018-2-23 11:24:55 | 显示全部楼层
不太明白你的意思,是这样的吗?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b/s/A:D') do (
  4. for %%i in ("%%j\*") do (
  5.   ren "%%~fi" "%%~na-%%~nxi"
  6. )
  7. )
  8. echo done!
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:13 , Processed in 0.011408 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表