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

[文件操作] [已解决]批处理bat 文件夹改成数字排列的应该怎么弄

本帖最后由 swanseabrian 于 2021-9-11 17:28 编辑

批处理bat 文件夹改成数字排列的应该怎么弄

现在我有10个文件夹,在同一个目录下,然后每个文件夹下有10个jpg文件,我想每个文件夹下图片的名字都是01.jpg,02.jpg....10.jpg.这个要怎么弄,我写了一下,我不能控制这个数字,每个文件夹里的数字是依次增大的

代码如下,应该怎样改一下呢,谢谢
  1. @echo on
  2. setlocal enabledelayedexpansion
  3. ::n为起始数字
  4. for /f "delims=" %%i in ('dir /b /s /a-d *.jpg') do (
  5. for %%j in ("%%~dpi.") do (set n=1
  6. ren "%%i" "0!n!%%~xi"&&set /a n+=1)
  7. )
  8. pause
复制代码

本帖最后由 qixiaobin0715 于 2021-9-9 12:45 编辑

回复 1# swanseabrian
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%i in (*) do (
  4.     set n=100
  5.     pushd "%%i"
  6.     for /f "delims=" %%j in ('dir /b /a-d *.jpg') do (
  7.         set /a n+=1
  8.         ren "%%j" "!n:~1!.jpg"
  9.     )
  10.     popd
  11. )
  12. pause
复制代码

TOP

回复 1# swanseabrian


批处理字符串、文本常见操作之重命名文件
https://mp.weixin.qq.com/s/_1qzhObTSbc6HRpJy4onhQ
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# qixiaobin0715
怎么退回目录呀,你这样切换到子目录,再执行下一个循环的时候,就找不到路径了,因为当前是在子文件夹里面了,这样不太行

TOP

回复 4# swanseabrian
用pushd popd,楼上代码已修改。
1

评分人数

TOP

回复 6# qixiaobin0715


    是的,我用了pushd popd,这个好用了,谢谢

TOP

回复 3# Batcher


    站长,我怎么弄成 已解决呢,不知道怎么处理,谢谢

TOP

回复 8# swanseabrian


参考Q-01:批处理之家论坛使用常见问题FAQ
http://bbs.bathome.net/thread-3473-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# qixiaobin0715

文件名前面我加前缀之后,好像是文件名太长了,这样的话,01编号就没有了,会变成最后一个编号,文件名短一些是正常的,这是个啥情况?

TOP

回复 9# swanseabrian
与文件名长短没关系,代码已修改,再试试。

TOP

回复 10# qixiaobin0715


    好的,这样写没问题了

TOP

把pushd popd分别替换成:
cd "%%i"
cd ..
也可以。

TOP

返回列表