Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如何使用批处理文件将随机图像从文件夹复制到其他文件夹?_Image_Random_Batch File_Copy_Overwrite - Fatal编程技术网

Image 如何使用批处理文件将随机图像从文件夹复制到其他文件夹?

Image 如何使用批处理文件将随机图像从文件夹复制到其他文件夹?,image,random,batch-file,copy,overwrite,Image,Random,Batch File,Copy,Overwrite,我有两个文件夹: D:\Folder 1\ D:\Folder 2\ 文件夹1有一些JPG图像文件夹2有一个文件1.jpg 我想使用批处理文件从文件夹1中选择一个随机图像,然后复制到名为1.jpg的文件夹2(文件1.jpg已存在于文件夹2中) 我怎么做?非常感谢。2021年,我在Win10上使用此脚本时遇到了问题,但找到了一个类似的脚本。 @Echo OFF REM By Elektro H@cker :: Generate random numbers before filenames

我有两个文件夹:

D:\Folder 1\
D:\Folder 2\
文件夹1
有一些JPG图像<代码>文件夹2有一个文件
1.jpg

我想使用批处理文件从
文件夹1
中选择一个随机图像,然后复制到名为
1.jpg
文件夹2
(文件
1.jpg
已存在于
文件夹2中)


我怎么做?非常感谢。

2021年,我在Win10上使用此脚本时遇到了问题,但找到了一个类似的脚本。
@Echo OFF

REM By Elektro H@cker

:: Generate random numbers before filenames
FOR %%# in ("D:\Folder 1\*") Do (CALL Echo %%RANDOM:~5,1%%%%RANDOM:~4,1%%%%RANDOM:~3,1%%%%RANDOM:~2,1%%%%RANDOM:~1,1%%;%%# >> "%TEMP%\TempFile.txt")

:: Sorts the generated random numbers and choose a random file.
For /F "TOKENS=*" %%# in ('Type "%TEMP%\TempFile.txt" ^| SORT ^| MORE +%RANDOM:~1,1%') DO (

:: Copy the file to a folder
    For /F "TOKENS=2 Delims=;" %%@ in ('Echo %%#') do (
        Echo  [+] File choosed: "%%~f@"
        Copy /Y "%%~f@" "D:\folder 2\1.jpg" 1>NUL
        GOTO:EXIT
    )
)

:EXIT
:: Delete the temp file
DEL /Q "%TEMP%\Tempfile.txt"
Pause&Exit
@echo off
setlocal

:: Initialization
set "ext=jpg"
set "source=folder 1"
set "target=folder 2"

:: Get count of images and select random image
for /f %%N in ('dir /b "%source%\*.%ext%"^|find /c /v ""') do (
  set /a "imageNum=%random% %% %%N"
)

:: Copy the image
if %imageNum% gtr 0 (set "skip=skip=%imageNum%") else set "skip="
for /f "%skip% eol=: delims=" %%F in ('dir /b "%source%\*.%ext%"') do (
  echo copy /y "%source%\%%F" "%target%\1.%ext%"
  exit /b
)