sotan 发表于 2019-1-9 16:35:55

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

本帖最后由 sotan 于 2019-1-9 18:21 编辑
[*]
[*]@echo off
[*]setlocal enabledelayedexpansion
[*]for /f "delims=" %%i in ('dir /b /o-n "*.wav"') do (
[*]set /a n+=1
[*]set "n=0!n!"&set "n=!n:~-2!"
[*]ren "%%~i" "!n! %%~nxi")
[*]for /f "delims=" %%a in ('dir /b/a-d/oN *.*') do echo %%a >>123.txt
[*]pause
[*]复制代码

作用是想把歌曲,自动在前面编个序号,从01开始这样,后面跟个空格 然后再是原文件名,然后输出到一个txt内,
现在这段代码序号会重复,不知道为啥.
输出的结果只会01~08 然后又重复开始了!
这个代码是我百度了半天汇总出来的,也不知道哪个地方有问题

zephyr 发表于 2019-1-9 16:44:00

[*]set "n=!n!"&set "n=!n:~-2!"复制代码 去掉0试试

sotan 发表于 2019-1-9 16:52:03


zephyr 发表于 2019-1-9 16:44

去掉0试试
去掉0 的确会正常从1开始计数而且是正常的,那么想要10以下的文件头以0开始能办吗?

why? 发表于 2019-1-9 16:44:00

编号我好像有个软件可以 但是 是原文件名,然后输出到一个txt内 这个就做不到了

YYY666 发表于 2019-1-9 16:53:29

软件 拖把更名器自己搜一个

zephyr 发表于 2019-1-9 16:55:48


sotan 发表于 2019-1-9 16:52

去掉0 的确会正常从1开始计数而且是正常的,那么想要10以下的文件头以0开始能办吗? ...[*]set "n=!n!"&set "n=!n:~-2!"
[*]echo "%%~i" "0!n! %%~nxi")复制代码前面都加0

sotan 发表于 2019-1-9 16:58:55


zephyr 发表于 2019-1-9 16:58

前面都加0
大佬,批处理里面是没有IF这种写法吗?
[*]if n > 10(ren "%%~i" "0!n! %%~nxi")else(ren "%%~i" "!n! %%~nxi")复制代码
这样子写了之后 批处理就直接一闪而过了

今晚我是你的 发表于 2019-1-9 16:52:00

水淼文件批量处理可以解决

灰姑娘 发表于 2019-1-9 17:13:08

好像有款叫什么 菲菲宝贝 的绿色软件支持 windows 批量改名。

zephyrsotan 发表于 2019-1-9 16:58:00

本帖最后由 zephyr 于 2019-1-9 17:51 编辑

sotan 发表于 2019-1-9 17:13

大佬,批处理里面是没有IF这种写法吗?

这样子写了之后 批处理就直接一闪而过了 ...
[*]@echo off
[*]setlocal enabledelayedexpansion
[*]for /f "delims=" %%i in ('dir /s /b /o-n "*.txt"') do (
[*]set /a n+=1
[*]set "n=!n!"
[*]if !n!LEQ 9 (
[*] echo "%%~i" "0!n! %%~nxi"
[*]) else (
[*] echo "%%~i" "!n! %%~nxi"
[*])
[*])复制代码if这样用
zephyr 发表于 2019-1-9 17:48

if这样用

017.gif
十分感谢大佬!!!
页: [1] 2
查看完整版本: 有没有大佬帮我修复一下这个BAT脚本啊?