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

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

当前目录下有很多文件,想在不改变原文件名的前提下,将所在文件夹的文件夹名加到文件名前。

手机上打的,大概就是这意思,当前目录可以试一下
  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
复制代码

TOP

: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
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 2# idean


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

要进行此操作的目录较多,拜托了

TOP

回复 3# /zhqsystem/zhq


    非常感谢,但是测试后在上级目录和当前目录测试都没有成功,想实现如下图效果,谢谢。

TOP

感谢二位帮忙,功能已经测试成功。

TOP

不太明白你的意思,是这样的吗?
  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
复制代码

TOP

返回列表