随机重命名所有.exe文件在一个文件夹中使用批处理



我想要完成的是重命名文件夹中所有的。exe。

随机名称样本应为" 589uday5xpsa9izz .exe"

如果我能得到任何帮助,我将不胜感激,我已经想了好几天了

试试这个:

@echo off
setlocal enabledelayedexpansion
:://The string length of the output
set $Lcode=16
set $#=#
:://The char Map
set $l="#0=0" "#1=a" "#2=B" "#3=c" "#4=d" "#5=E" "#6=f" "#7=g" "#8=H" "#9=I" "#10=j" "#11=K" "#11=1" "#13=2" "#14=3" "#15=4" "#16=5"
:://Evaluating the char MAP
for %%a in (%$l%) do set %%~a
:://Looping in the directory for .exe files
for /f "delims=" %%x in ('dir /b/a-d "*.exe"') do (
    for /l %%a in (0,1,%$Lcode%) do (
    call:rand
    )
    ECHO ren "%%x" !$Fstring!.exe
    set $Fstring=
)
pause
exit/b
:://Getting the random Char
:rand
set /a $n=!random!%%17
set $Fstring=!$Fstring!!#%$n%!

我做了一个只有15个字符的char MAP,但你可以增加所有的字符(上下字母+数字)。如果你这么做。你必须增加!random!%%17的值

可以通过改变变量$Lcode(16)的值来增加random string的长度。

输出:

ren CnpjSdee.exe 2aHg5I22EBBE2ff5.exe
ren DbatchCnpj.exe EIIg2E54aHHIEgfHE.exe
ren NTStreamColor.exe jg03f3dIfBfIfHj2.exe
ren savedialog.exe EgfdajIcdc2cf03E.exe
Press any key to continue. . .

如果OK,删除ECHO以真正重命名文件

这是一个简单的批处理程序,它将在包含要重命名的文件的文件夹中工作,您可以创建一个快捷方式从桌面使用它。使用复制和粘贴长名称。C:Documents and SettingsOwnerDesktopNew FolderRename.bat (file = Rename.bat)不要使用整个路径

@echo off
title Rename Bat
echo This bat must be in the folder that 
echo contains the files to be renamed.
:begin
echo Enter File Name
set /p old=
echo Enter New Name
set /p new=
ren "%old%" "%new%"
echo File Renamed
ping -n 3 127.0.0.1 >NUL
goto begin

一个更简单的方法…试试for循环,遍历文件夹中的所有文件,每次重命名一个文件,给每个文件一个唯一的编号…

@echo off
for /L %%n in (1 1 %random%) do (
for %%a in (*.exe) do (
rename "%%a" "%%a_%%n.exe"

)
)

那么%%a代表该文件夹中的所有文件%%n代表分配给for主体中每个文件的唯一编号以_符号

分隔

要使用这个批处理文件,你必须把它放在包含.exe文件的文件夹中

将文件重命名为原始的name_1,然后是原始的name _2等等,如果你想让它完全随机,那么在第一个for循环的括号中只使用%random%,并取消迭代"1"(见下文),在重命名部分也取消%%a以省略文件的原始名称,这样你就只剩下随机数了,参见下面的

    @echo off
    for /L %%n in (%random%) do (
    for %%a in (*.exe) do (
    rename "%%a" "%%n.exe"

    )

)

希望对您有所帮助.....

相关内容

  • 没有找到相关文章

最新更新