使用批处理copy批量复制指定目录下(包括子目录)的所有文件并重命名?
老师,能否使用copy命令帮忙写个批处理实现以下功能:复制指定目录下(包括子目录)的所有文件到指定目录中并添加后缀bak,最好能保持原有的目录结构,多谢。...
老师,能否使用copy命令帮忙写个批处理实现以下功能:
复制指定目录下(包括子目录)的所有文件到指定目录中并添加后缀bak,最好能保持原有的目录结构,多谢。 展开
复制指定目录下(包括子目录)的所有文件到指定目录中并添加后缀bak,最好能保持原有的目录结构,多谢。 展开
展开全部
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
复制粘贴到记事本,另存为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');
展开全部
@echo off & title 备份文件 By 依梦琴瑶
::设置要备份的目录路径
set SrcDir=D:\TEST
::设置保存路径
set SavDir=E:\Backup
xcopy /s/e/h/y "%SrcDir%" "%SavDir%\"
cd /d "%SavDir%"
for /f "delims=" %%a in ('dir /a-d/s/b') do ren "%%~a" "%%~nxa.bak"
pause
call :Donate
exit
: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
::设置要备份的目录路径
set SrcDir=D:\TEST
::设置保存路径
set SavDir=E:\Backup
xcopy /s/e/h/y "%SrcDir%" "%SavDir%\"
cd /d "%SavDir%"
for /f "delims=" %%a in ('dir /a-d/s/b') do ren "%%~a" "%%~nxa.bak"
pause
call :Donate
exit
: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
来自:求助得到的回答
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询