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

[文件操作] [已解决]批处理怎么把JPG文件名字批量更改同文件夹内MP4文件的名字呢?

比如目录下的有数个文件夹,文件夹内有JPG文件和MP4文件。
我想把JPG文件的文件名改成同MP4文件一样的文件名。
文件夹内一般为单个文件和单个MP4文件,希望代码碰到文件夹有两个以上JPG或者MP4文件的时候在运行后显示出这些文件夹以便手动更改。
大神们应该怎么写?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# idwma


    谢谢了老哥

TOP

回复 3# qixiaobin0715


    感谢!!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (*) do (
  4.     set n=0
  5.     pushd %%a
  6.     for %%b in (*.jpg,*.mp4) do (
  7.         set /a n+=1
  8.         if "%%~xb"==".jpg" (set str1=%%b) else set str2=%%~nb
  9.     )
  10.     if !n! neq 2 (echo,请手动修改文件夹"%%a"中的文件名) else ren "!str1!" "!str2!.jpg"
  11.     popd
  12. )
  13. pause
复制代码

TOP

@echo off&setlocal enabledelayedexpansion
set d=f:\star
for /f "delims=" %%i in ('dir/b/s !d! ^| find ".jpg"') do (
for /f "delims=" %%j in ('dir/b %%~dpi\*.mp4') do (
ren "%%i" "%%~nj!n!.jpg"
set/a n+=1
)
)
pause

TOP

返回列表