Batch file 有没有一种方法可以创建一个.bat,它将一个随机文件从一个目录复制到另一个目录,并将文件名写入txt?

Batch file 有没有一种方法可以创建一个.bat,它将一个随机文件从一个目录复制到另一个目录,并将文件名写入txt?,batch-file,Batch File,我创建了以下.bat,以便将一个随机的.mp4文件从目录a复制到目录B(使用固定的文件名video.mp4)。因此,在目录A中有一个.mp4文件池,在目录B中有文件video.mp4(名称相同,但每次执行批处理文件时视频不同) 这是一个代码谁做这件事。它非常有效 @echo off setlocal EnableDelayedExpansion cd C:\Users\aless\Desktop\....DIRECTORY A set n=0 for %%f in (*.*) do ( s

我创建了以下.bat,以便将一个随机的.mp4文件从目录a复制到目录B(使用固定的文件名
video.mp4
)。因此,在目录A中有一个.mp4文件池,在目录B中有文件video.mp4(名称相同,但每次执行批处理文件时视频不同)

这是一个代码谁做这件事。它非常有效

@echo off
setlocal EnableDelayedExpansion
cd C:\Users\aless\Desktop\....DIRECTORY A
set n=0
for %%f in (*.*) do (
   set /A n+=1
   set "file[!n!]=%%f"
)
for /L %%i in (1,1,%time:~-1%) do set "dummy=!random!"
set /A "rand=(n*%random%)/32768+1"
copy "!file[%rand%]!" C:\Users\aless\Desktop\....DIRECTORY B\video.mp4
这就是问题所在:

我想在目录B中添加一个名为“title.txt”(固定名称)的文件,并希望随机选择的.mp4文件的原始名称(在复制操作之前)写入title.txt的内容(不带
.mp4
扩展名)

所以,在最后。。。每次我执行.bat文件时,都必须使用固定的文件名(video.mp4)将一个随机文件从目录a复制到目录B,同时必须更新title.txt内容,并用原始文件名替换,而不带扩展名

如何在代码中添加此操作

非常感谢


如何将此功能添加到我的代码中?

我敢打赌,您是从年Aacini的答案中获得此代码的<代码>:)虽然我理解您使用文本文件的原因,但您不需要使用文件,您已经拥有目录的内容,只需使用它,就像刚才的回答一样。
对于%%G IN(“!file[%rand%!”)执行>“C:\Users\ales\Desktop\directory B\title.txt”ECHO%%~nG
是的,你赢了,Gerhard:)无论如何,我需要在txt文件的内容中写入.mp4文件名(不带扩展名)(不在txt文件名中),因为我将运行读取title.txt内容的外部软件。我不是那么擅长编码,但我会尝试添加壁球行很快。我到底要把它放在哪里?它非常好用!!!谢谢大家