如何用bat批处理,将多个文件夹中每个里面随机取一个txt合并复制成一个新的txt,并用“时间+字符”命名!

2024-11-22 16:40:57
推荐回答(1个)
回答1:

@echo off
rem 从多个文件夹里随机抽取一个txt文本进行合并
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$% %z%
cd /d "%~dp0"
for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value^|find "="') do set "now=%%a"
set "outfile=%now:~,14%-字符.txt"
>"%tmp%\t.t" echo;list=WSH.StdIn.ReadAll().replace(/\s*$/g,'').split(/[\r\n]+/);list.sort(function(){return Math.random()^>.5?-1:1;});WSH.echo(list[0]);
for /f "delims=" %%a in ('dir /ad/b') do (
    for /f "delims=" %%b in ('dir /a-d/b "%%a\*.txt"^|cscript -nologo -e:jscript "%tmp%\t.t"') do (
        echo;%%a\%%b
        (type "%%a\%%b"&echo;)>>"%outfile%"
    )
)
echo;%#% +%$%%$% %z%
pause