Board logo

标题: [文本处理] 怎样查找多个子目录中的指定文件夹并复制到另一个文件夹中? [打印本页]

作者: BG5OH    时间: 2018-1-3 10:18     标题: 怎样查找多个子目录中的指定文件夹并复制到另一个文件夹中?

各位大神某某软件有个人的使用习惯想定期备份一下


软件可能安装在任意盘,查找并复制到(指定盘的:\当前计算机名\使用习惯备份_备份日期)目录下,假设软件安装在C:\123... 使用习惯在C:\123...\Settings(Settings)文件内部的全部文件需要备份

并且能按照之前的目录结构复制,比如:输入备份盘符是(I) 当前计算机名称是(实验室_1) 最终在I:\实验室_1\使用习惯备份_2018年1月3日\123...\Settings 下备份相关内容。


看到比较接近的代码是
@echo off
set "pth=C:\123"
set/p name=输入文件名:
for /f "delims=" %%a in ('dir /a-d /b /s "%pth%\%name%"') do (
  set "p=%%~dpa"
  call xcopy "%%a" "%%p:%pth%=I:\%%" /y
)
pause


作者: yhcfsr    时间: 2018-1-3 16:18

  1. @echo off
  2. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
  3. rem 设置源目录
  4. set "SourDir=C:\123...\Settings"
  5. rem 设置备份路径
  6. set "CpDir=I:"
  7. set "SubCpDir=%ComputerName%\使用习惯备份_%date:~0,4%年%date:~5,2%月%date:~8,2%日\%SourDir:~3%"
  8. robocopy /e /copyall "%SourDir%" "%CpDir%\%SubCpDir%"
  9. pause
复制代码

作者: BG5OH    时间: 2018-1-4 10:18

回复 2# yhcfsr

非常感谢  yhcfsr  大侠的教导
当前的运行结果:
[attach]11001[/attach]
[attach]11002[/attach]

目前有三个问题
源目录需要两个参数,1:设置大概的搜索范围(因为只知道软件安装的第一级目录,例如:C:\123)
                              2:范围内的指定文件夹名称(需要备份的文件名称都是相同的,例如:en-US)
[attach]11003[/attach]

目标路径期望是:D:\BG5OH_使用习惯备份_2018年01月04日\123\
[attach]11004[/attach]
作者: yhcfsr    时间: 2018-1-4 20:02

回复 3# BG5OH


    更多问题加QQ讨论吧,论坛难以实时沟通,有些也说不清楚。
QQ33892006




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2