批处理命令中,怎么新建一个和另一个名字为随机的文件同名的文本文档?

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:43:37
在批理中新建一个文本文件,它的名字不是既定的,是未知的,是根据另一个随机出现的文件而同名的。
谢谢你的回答。我再说明一下我的问题:比如,在既定目录中,有一个Thankyou.zip文件,我想在这个目录下面新建一个Thankyou.txt。我说的随机,是指在写批处理命令的时候,还不知道这个ZIP文件叫Thankyou.zip。

我给你解决了:

@echo off
for /r . %%i in (*.*) do (
if "%%i" neq %0 echo>"%%~ni.txt"
)
cls
pause

得到某路径下所有文名中的一个随机文件名,并用这个随机文件名命名生成一个txt文件。在测试的时候所选的文件夹不要包含太多文件,如果包含太多文件将需要较长的运行时间。我刚才用整个C分区测试就用了近10分钟。(我的整个C分区包含了约18W个文件,占磁盘近50GB)
将以下代码复制保存为Bat文件运行:
--------------------------
@echo off & setlocal enabledelayedexpansion
set /p file= 请把要处理的路径拉到本窗口:
set num=0
for /r "%file%" %%a in (*.*) do (
set /a num+=1
call set files!num!=%%a
set /a ran=!random!%%!num!+1
call set img=%%files!ran!%%
)
FOR %%A IN ("!img!") DO echo.>%%~nA.txt
exit

--------------------------
楼主要的是不是这样的啊?,没搞懂楼主的“根据另一个随机出现的文件而同名”是在那种条件下出现的文件名。