❶ 求bat对多个文件夹中的文件按照文件的顺序以文件夹名对文件进行编号的方式批量重命名
如果你非要这个顺序,就新建文件夹,然后按顺序移动文件过去,可以用批量的,比如文件0000?.*,做的时候注意看文件顺序,为保证这个顺序可以分别建立N个文件夹,省得返工。
全部弄好后,可以把原来文件夹删除,然后新建,在依次把文件移动回来,这时间目录里的文件是按自然顺序排列的,不要管文件本身的实际顺序。可以注意看移动的时候显示的文件名,依次排列的才符合你的要求。然后注意以后不要随便的删除、替换文件,否则顺序将变化。
要是有能力直接编辑“目录”,可以对目录直接排序而不影响。
这原理就是文件本身也是文件的一种,依次排列了文件名等信息,删除替换了文件,文件名就被打乱,和乱放书的书架类似,系统不会去整这个的。在移动文件到新的文件夹的时候,文件名信息是依次按顺序排列的了,转移回来的时候,顺序是保持不变化的。
资源管理器看的文件排列顺序是系统演示给你看的,和自然顺序不是一个事。
❷ bat查找当前文件夹内txt内容并给添加序号
@echooff
for/f%%jin('dir*.txt/b')do(
call:sub%%j
)
deltemp.txt
echo全部完成!
pause>nul
:sub
set/acount=0
for/f"tokens=*"%%iin(%1)do(
set/acount=!count!+1
echo%%i>temp.txt&&ping127.0.0.1-n2>nul|findstr".com"temp.txt>nul&&echo!count!、%%i>>new_%1||set/acount=!count!-1&&echo%%i>>new_%1
)
echo%1--^>new_%1OK!
代码如上。如需修改,有以下关键点:
1、查找关键词。在13行:".com" (冒号内可替换成其他查找内容)
2、改序号格式。在13行:!count!、%%i (那个顿号可替换为其他)
3、输出文件名。在13行:new_%1 (new_可替换为其他,注此行有两个都要改)
❸ 您好,之前解答的这个问题:bat批处理语句,把多个文件夹里面的文件按名称排序后,以文件夹名为基础.....
如果要在bat批处理中把多个文件夹里面的文件按名称排序后,以文件夹名为基础,递增命名,并且从1开始命名,可以使用如下代码:
@echo off
setlocal enabledelayedexpansion
set i=0
for /d %%a in (*) do (
set /a i=i+1
set folder=%%a
set num=1
for /f "delims=" %%b in ('dir /b /a-d "%%a" ^| sort') do (
ren "%%a\%%b" "!folder!-!i!-!num!.txt"
set /a num=num+1
)
)
这段代码首先会使用for循环遍历所有的文件夹,然后使用另一个for循环遍历每个文件夹中的文件。在内层for循环中,使用dir命令按名称排序后获取文件列表,再使用ren命令修改文件名。
在修改文件名时,使用了!folder!-!i!-!num!.txt的格式,其中!folder!表示文件夹名,!i!表示文件夹的序号,!num!表示文件的序号。
需要注意的是,这段代码中使用了setlocal enabledelayedexpansion命令,这是因为要使用批处理的延迟变量替换功能(也就是使用!变量名!的形式表示变量值)。
延迟变量替换是批处理的一种特性,它可以在执行命令时才替换变量值,而不是在解释命令时就替换。这使得我们可以在for循环中使用延迟变量替换来修改变量值,然后在命令中使用这些修改后的变量值。
最后,这段代码中使用了set /a命令来对变量进行数学运算。set /a命令可以用于将变量值设置为数学表达式的结果,例如set /a num=num+1。
在运行上述代码后,原来的文件夹中的文件会被按名称排序并按照文件夹名-文件夹序号-文件序号.txt的格式命名。文件夹序号和文件序号都是从1开始递增的。
例如,如果原来有如下三个文件夹:
folder1
file1.txt
file2.txt
folder2
file1.txt
file2.txt
file3.txt
folder3
file1.txt
运行完上述代码后,文件夹中的文件会被命名为:
folder1-1-1.txt
folder1-1-2.txt
folder2-2-1.txt
folder2-2-2.txt
folder2-2-3.txt
folder3-3-1.txt
如果你想修改代码使得文件序号从1开始,可以将内层for循环的set /a num=num+1语句改为set /a num=1,这样文件序号就会从1开始递增。
此外,你还可以根据需要修改命名格式。例如,如果你想使用folder-num的格式命名文件,可以将ren命令修改为:
ren "%%a\%%b" "!folder!-!num!.txt"
这样,文件夹名和文件序号之间就不会有"-"了。
希望这些信息对你有帮助。如果你还有其他问题,可以继续提出来;