有这样一个场景:我需要将同一个文件复制为上千个文件,并且文件名应为随机数。为了简单起见,不想写程序,直接写个BAT来,方便,简单,易用:
1. 搞定用BAT产生32位随机数,存为变量并使用,保存以下代码为rnd.bat:
@echo off
for %%i in ("0=A" "1=B" "2=C" "3=D" "4=E" "5=F")do set "x1%%~i"
setlocal enabledelayedexpansion
set "guid="
for /l %%i in (1,1,32)do (
set/a "n=!random!&15"
if !n! gtr 9 call set "n=%%x!n!%%"
set "guid=!guid!!n!")
set "guid=%guid:~,8%-%guid:~8,4%-%guid:~12,4%-%guid:~16,4%-%guid:~-12%"
copy a.jpg output\%guid%.jpg
2.调用随机数bat 1000次,保存以下代码为copyfile.bat
@echo off
rem echo "start"
for /L %%y in (1,1,1000) do ( call rnd.bat )
双击copyfile.bat即可复制a.jpg到output文件夹下,每个文件以随机数命名。
附:复制之后,使用如下命令,生成output文件夹复制后的文件列表:
dir /b output>file_list.txt