bat批处理在一个a文件夹下新建一个b文件夹,然后随机复制文件

你好,之前的脚本帮了我很大的忙,现在有得需要你帮忙了:bat批处理 ,在一个a文件夹下新建一个b文件夹,然后随机复制a文件夹中的文件(9个到17个,也是随机)到刚才新建的文件夹b 中。我看到你回答了某一个人的问题,他是要求复制6 个,然后我在脚本中把那个6 改动成随机数,发现不行,不知道哪里出了问题,希望你能帮帮我,谢谢了。

@echo off & title 随机移动指定范围内随机数量文件 By 依梦琴瑶
setlocal enabledelayedexpansion

::设置A文件夹路径
set A=A

::设置B文件夹路径
set B=B

::如果需要存放到更多目录,请在上面自行定义变量后,加到下方变量中去
::每个变量必须用双引号括起来,并用英文逗号隔开
set Dirs="%B%"

::设置每个文件夹存放的随机数量范围
set F_Num=9-17

::设置要移动的文件后缀名,如果不限,请直接填写*符号
set Ext=*

for /f "tokens=1,2 delims=-" %%a in ("%F_Num%") do (
    set Least=%%a
    set Most=%%b
)
set /a M=Most+1

(for /f "delims=" %%a in ('dir /a-d/b "%A%\*.%Ext%"') do (
    set /a RandNum=!random!%%1000+1000
    echo !RandNum!^|"%A%\%%~a"
))>filelist.$

sort filelist.$ /o filelist.#

for %%i in (%Dirs%) do (
    set Count=0
    if defined Line (
        call set Skip=skip=!Line!
    )
    call :MoveFile "%%~i" "!Skip!"
)
del filelist.*
pause
exit

:MoveFile
set /a sjs=!random!%%!M!
if !sjs! leq !Most! (
    if !sjs! geq !Least! (
        goto MoveContinue
    )
)
goto MoveFile

:MoveContinue
for /f "%~2 tokens=2 delims=|" %%a in (filelist.#) do (
    set /a Count+=1
    if !Count! leq !sjs! (
        move "%%~a" "%~1\"
        set /a Line+=1
    )
)
goto :eof

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答

bat批处理在一个a文件夹下新建一个b文件夹,然后随机复制文件
echo off & title 随机移动指定范围内随机数量文件 By 依梦琴瑶setlocal enabledelayedexpansion::设置A文件夹路径set A=A::设置B文件夹路径set B=B::如果需要存放到更多目录,请在上面自行定义变量后,加到下方变量中去::每个变量必须用双引号括起来,并用英文逗号隔开set Dirs="%B%"::设置每个文...

...bat.如何在指定目录当前日期的文件夹中新建一个文件夹,文件夹的名...
REM 检查文件夹是否存在,如果不存在则创建它 if not exist "%folder_path%" ( mkdir "%folder_path%")REM 获取剪贴板的内容并将其作为文件夹名称 set \/p "folder_name=" < "con"md "%folder_path%\\%folder_name%"REM 打开新创建的文件夹 start "" "%folder_path%\\%folder_name%"...

A文件夹内有个B文件夹,我要用批处理将B文件夹复制N次,怎么实现?
echo off&setlocal enabledelayedexpansionset \/p str=请输入复制的次数:for \/l %%a in (1 1 %str%) do ( set \/a num+=1 md !num! xcopy \/e "D:\\A\\B" "d:\\a\\!num!")pause有疑问,请追问!如果对你有帮助,请采纳!谢谢!

bat代码写一个自动复制,到新建文件夹的目录里的代码
echo offrem 根据当前日期和星期数移动文件set #=Any question&set $=Q&set\/az=0x53b7e0b4title %#% +%$%%$% %z%cd \/d "%~dp0"set "源目录=D:\\A"set "新目录=D:\\B">"%tmp%\\t.t" echo;d=date:WSH.echo day(d) ^& "|" ^& weekday(d,2)for \/f "tokens=1* delims...

用BAT把一个文件夹复制到另一个文件夹内的命令怎么写?
首先,打开计算机,找到一个空白区域,右键点击选择“新建”,然后选择“文本文档”。在新建的文档中,你需要将它的后缀名改为.bat,以便识别为批处理文件。接着,在.bat文件中,输入以下代码:shell set tarDir=G:\\Guoke\\ set filename=guoke.txt if not exist %tarDir% (mkdir %tarDir )copy %...

怎么在文件夹里新建一个文件
.bat”,这时就可以成功建立批处理文件了。在一个文件夹里怎样新建一个文本文件?在一个文件夹里怎样新建一个文本文件?1、另一种方法是直接在文件夹的空白处单击鼠标右键选择“新建”,在新建中选择“文本文档”,这种方法创建的txt文件和上面的步骤创建的文件是一样的。2、...

如何用bat复制当前文件夹内的所有文件到指定目录
1、在电脑上新建一个文件夹,新建一个“TXT”文件,并命名。2、点击右键,把文件的后缀名设置为“.bat”3、右键打开文件,第一行输入“copy C:\\Users\\Administrator\\Desktop\\西游记\\1.JPG C:\\”。4、第二行输入“pause”。5、保存后关闭,双击文件弹出“DOS”界面。6、即可看到C盘下已经复制了一...

用文件名批量创建文件夹,然后将文件移动进去的批处理命令?
2、在bat批处理命令中,可以只用移动指令来实现创建文件夹并把目标文件移动到创建的文件夹中。3、建一个批处理文件(文件名.bat),输入下面的内容:MOVEE:\\A\\*.docE:\\A\\完稿MOVEE:\\B\\*.docE:\\B\\完稿MOVEE:\\C\\*.docE:\\C\\完稿编辑并保存后在命令提示符下运行。

如何用BAT批处理命令修改文件夹A内所有子文件夹下的文件并复制到文件夹...
echo offrem 放在A文件夹里运行for \/d %%a in (*) do ( pushd "%%a\\" for \/f "delims=" %%b in ('dir \/a-d\/b *.shp *.dbf *.shx') do ( copy "%%b" "%~dp0%%a%%b" ) popd)pause

怎么用BAT读取指定文件夹内文件名,并在另一文件夹搜索同名文件复制
echo offif not exist "%~dp0\\222\\123.txt" ( set \/p a=不存在222\\123.txt,输入字符再按回车继续,直接按回车退出: if not defined a goto :eof)for %%i in (d:\\abc\\123\\*) do copy "f:\\abc\\%%~nxi" e:\\abc\\pause ...

相似回答