全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1967|回复: 12

[翻译] 有没有大佬帮我修复一下这个BAT脚本啊?

[复制链接]
发表于 2019-1-9 16:35:55 | 显示全部楼层 |阅读模式
本帖最后由 sotan 于 2019-1-9 18:21 编辑

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /o-n "*.wav"') do (
  4. set /a n+=1
  5. set "n=0!n!"&set "n=!n:~-2!"
  6. ren "%%~i" "!n! %%~nxi")
  7. for /f "delims=" %%a in ('dir /b/a-d/oN *.*') do echo %%a >>123.txt
  8. pause
复制代码


作用是想把歌曲,自动在前面编个序号,从01开始这样,后面跟个空格 然后再是原文件名,然后输出到一个txt内,
现在这段代码序号会重复,不知道为啥.
输出的结果只会01~08 然后又重复开始了!
这个代码是我百度了半天汇总出来的,也不知道哪个地方有问题
发表于 2019-1-9 16:44:00 | 显示全部楼层
  1. set "n=!n!"&set "n=!n:~-2!"
复制代码
去掉0试试
 楼主| 发表于 2019-1-9 16:52:03 | 显示全部楼层

去掉0 的确会正常从1开始计数而且是正常的,那么想要10以下的文件头以0开始能办吗?
发表于 2019-1-9 16:53:29 | 显示全部楼层
编号我好像有个软件可以 但是 是原文件名,然后输出到一个txt内 这个就做不到了
发表于 2019-1-9 16:55:48 | 显示全部楼层
软件 拖把更名器  自己搜一个
发表于 2019-1-9 16:58:55 | 显示全部楼层
sotan 发表于 2019-1-9 16:52
去掉0 的确会正常从1开始计数而且是正常的,那么想要10以下的文件头以0开始能办吗? ...
  1. set "n=!n!"&set "n=!n:~-2!"
  2. echo "%%~i" "0!n! %%~nxi")
复制代码
前面都加0
 楼主| 发表于 2019-1-9 17:13:08 | 显示全部楼层

大佬,批处理里面是没有IF这种写法吗?
  1. if n > 10(ren "%%~i" "0!n! %%~nxi")else(ren "%%~i" "!n! %%~nxi")
复制代码

这样子写了之后 批处理就直接一闪而过了
发表于 2019-1-9 17:27:32 | 显示全部楼层
水淼文件批量处理可以解决
发表于 2019-1-9 17:29:50 | 显示全部楼层
好像有款叫什么 菲菲宝贝 的绿色软件支持 windows 批量改名。
发表于 2019-1-9 17:48:46 | 显示全部楼层
本帖最后由 zephyr 于 2019-1-9 17:51 编辑
sotan 发表于 2019-1-9 17:13
大佬,批处理里面是没有IF这种写法吗?

这样子写了之后 批处理就直接一闪而过了 ...

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /s /b /o-n "*.txt"') do (
  4. set /a n+=1
  5. set "n=!n!"
  6. if !n!  LEQ 9 (
  7. echo "%%~i" "0!n! %%~nxi"
  8. ) else (
  9. echo "%%~i" "!n! %%~nxi"
  10. )
  11. )
复制代码
if这样用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-26 09:11 , Processed in 0.060697 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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