批处理文件前加序号,如何不改变原本文件排序?
发布网友
发布时间:2022-04-23 01:26
我来回答
共2个回答
热心网友
时间:2023-07-15 12:30
批量在文件名前面增加数字序号的方法:
第一步,下载好优速文件批量重命名工具后安装使用。点击“文件重命名”功能进入内页后,再点击【添加文件】按钮,将需要加序号的文件批量导入到软件中。
第二步,如下图所示左边位置进行设置,命名方式选择“插入”;插入类型选择“编号”(也就是序号的意思);然后插入位置选择“文件名头”(也可以根据自己的需求插入到任意位置);最后在下面进行编号设置。可以在右边实时预览新文件名。
第三步,上面的设置完成后,就可以点击【开始重命名】启动重命名程序。当软件弹出“重命名成功”的提示后,说明所有文件成功加上了数字序号。
第四步,从案例中的结果可以看到,文件名从上到下在前面成功依次添加了递增的数字序号。
热心网友
时间:2023-07-15 12:30
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls
@echo off
rem 将当前目录下的文件按照原有顺序/排序在文件名称开头添加递增的数字序号
mode con lines=5000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$codes=@'
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
public static class ExpDir
{
[DllImport("Shlwapi.dll", CharSet=CharSet.Unicode)]
public static extern int StrCmpLogicalW(string p1, string p2);
public static string[] Sort(string[] f)
{
Array.Sort(f, StrCmpLogicalW);
return f;
}
}
'@;
Add-Type -TypeDefinition $codes;
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$arr=@(dir -liter $path|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])}|%{$_.Name});
$files=[ExpDir]::Sort($arr);
for($i=0;$i -lt $files.count;$i++){$files[$i]+$c+($i+1).toString()+'-'+$files[$i];}