使用批处理copy批量复制指定目录下(包括子目录)的所有文件并重命名?

老师,能否使用copy命令帮忙写个批处理实现以下功能:
复制指定目录下(包括子目录)的所有文件到指定目录中并添加后缀bak,最好能保持原有的目录结构,多谢。

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI<# :
cls
@echo off
rem 将一个指定文件夹/目录里的文件按照原来的目录结构拷贝/备份/复制到另一个指定的文件夹并在文件名称添加指定字符串后缀
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$oldfolder="D:\xxx\源文件夹";
$newfolder="D:\yyy\新文件夹";
$addword="_bak";
$files=@(dir -liter $oldfolder -recurse|?{$_ -is [System.IO.FileInfo]});$c=0;
for($i=0;$i -lt $files.length;$i++){
    $oldpath=$files[$i].Directory.FullName;
    $newpath=$newfolder.trimend('\')+'\'+$oldpath.Substring($oldfolder.trimend('\').length);
    if(-not (test-path -liter $newpath)){[void](md $newpath)};
    $newfile=$newpath.trimend('\')+'\'+$files[$i].BaseName+$addword+$files[$i].Extension;
    write-host ($files[$i].FullName+' --> '+$newfile);
    cp -liter $files[$i].FullName $newfile -force;
    $c++;
};
write-host ($c.toString()+' files');

温馨提示:内容为网友见解,仅供参考
无其他回答

使用批处理copy批量复制指定目录下(包括子目录)的所有文件并重命名?
不清楚你的实际文件\/情况,仅以问题中的说明及猜测为据复制粘贴到记事本,另存为xx.bat,编码选ANSI<# :cls@echo offrem 将一个指定文件夹\/目录里的文件按照原来的目录结构拷贝\/备份\/复制到另一个指定的文件夹并在文件名称添加指定字符串后缀mode con lines=3000set #=Any question&set @=WX&set...

批处理复制文件至指定文件夹并自动重命名
copy "%%F" "%destDir%\\!newFilename!")echo 文件复制及重命名完成。pause ```此脚本首先定义了两个变量`sourceDir`和`destDir`,分别指向源文件夹和目标文件夹的路径。使用`if not exist`语句检查目标文件夹是否存在,如果不存在则创建之。然后,通过一个`for`循环遍历源文件夹中的所有文件。在...

批处理复制指定文件里的文件(包含子文件夹)到新指定文...
回答:pushd f:\\test\\if not exist 合并 md 合并xcopy \/e 缩略图 合并for \/f "delims=" %%a in ('dir \/a-d \/b \/s 斜面图\\黑色') do (copy "%%a" "合并\\%%~na黑%%~xa")for \/f "delims=" %%a in ('dir \/a-d \/b \/s 斜面图\\透明') do (copy "%%a" "合并\\%%~na透...

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

如何用CMD批处理提取所有子文件夹内容按文件夹名称命名并提取到一个...
*"') do (Ren "%%j" "%%~nxi%%~xj"Move "%%i\\%%~nxi%%~xj" "D:\\文件提取到此文件夹\\"Rd \/q "%%i"))Pause以上内容保存为批处理文件(xx.bat),和要提取文件的子文件夹放在一起即可,例如 和 文件夹1、文件夹2 放在一起.默认保留文件后缀名,如果不保留文件后缀名请删除 "%%~xj"

通过批处理文件 批量复制并重命名文件
用批处理 echo off&setlocal enabledelayedexpansion&for \/f "delims=" %%a in ('dir \/s\/b *.*')do set\/a a+=1&echo f|xcopy \/e \/y "%%a" "D:\\new(!a!).*"这是当前文件夹(包括子文件夹)复制到D盘下,重命名为new(数字).后缀 复制到哪里你可以自己修改一下路径!那个"!a!"你...

如何使用批处理拖动文件夹,然后复制某指定文件到该文件夹下并自动重...
echo off & title 拷贝指定文件到指定目录中,并重命名为该文件夹名 By 依梦琴瑶 ::预设指定文件 set File=E:\\1.txt if \/i "%~1"=="" (echo 请不要直接双击运行此脚本,而是拖动文件夹到此脚本文件图标上。set Sec=4 goto End )dir \/ad "%~1" >nul 2>nul || (echo 请拖动文件...

怎么用批处理复制一个文件若干份且自动重命名?
不清楚你的实际文件\/情况,仅以问题中的说明及猜测为据复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行@echo offrem 将一个指定文件复制\/拷贝成多个副本并重命名set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4title %#% +%$%%$%\/%@% %z%cd \/d "%...

如何把一个文件夹下的所有子文件夹重命名
即可。步骤3、复制到任何需要生成目录的文件夹 步骤4、双击运行 注意:喜欢生成文本文件的用“.txt”。笔者喜欢用excel(因为excel表格配合批处理的ren命令可以批量、快速重命名文件或文件夹),所以用excel为例。以上是看到前辈“wuteac”的回答重新编辑的,非抄袭非侵权,只为更清楚解释下。

如何编写批处理代码复制文件夹A中的文件及文件夹到文件夹B,要求复制...
FileCopy($src & "\\" & $src_list[$i], $tag & "\\" & $filename)EndIf EndIf Else If StringInStr(FileGetAttrib($src & "\\" & $src_list[$i]), "D") Then DirCopy($src & "\\" & $src_list[$i], $tag)Else FileCopy($src & "\\" & $src_list[$i], $tag)EndIf E...

相似回答