[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】求助批处理查找带关键字的文件夹并复制备份

本帖最后由 holley 于 2021-11-19 09:33 编辑

起因:想手动备份火狐的配置文件,查看到相关路径如下:

初步写了一下:
  1. for /f "delims=" %%a in ('dir /ad /b /s %LOCALAPPDATA%\Mozilla\Firefox\Profiles') do (
  2. xcopy %LOCALAPPDATA%\Mozilla\Firefox\Profiles\%%~a Firefox收藏夹\root\%%~a\ /s/y/i|find "default"
  3. )
复制代码
提示找不到文件,不知道什么鬼?感觉到实际上已经找到了带default的文件夹但并没有开始复制所有子目录和文件

回复 1# holley


    第2行代码结尾的 |find "default" 是想实现什么功能?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher
之前发现复制整个Profiles文件夹太大了,耗时过长。于是想根据配置文件信息只找名称中带default的文件夹或文件来进行备份。

TOP

回复 3# holley


把find挪到dir后面试试
  1. for /f "delims=" %%a in ('dir /ad /b /s "%LOCALAPPDATA%\Mozilla\Firefox\Profiles" ^| find "default"') do (
  2.     xcopy /s /y /i "%LOCALAPPDATA%\Mozilla\Firefox\Profiles\%%~a" "Firefox收藏夹\root\%%~a\"
  3. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher
改了一下,现在倒是可以跑起来了,,,但找到目录后 它会把目录里面的文件夹也复制出来???怎么排除?
  1. for /f "delims=" %%a in ('dir /ad /b /s "%LOCALAPPDATA%\Mozilla\Firefox\Profiles" ^| find "default"') do (
  2. xcopy /s /y /i %%~a "backups\Firefox收藏夹\root\%%~nxa\"
  3. )
复制代码

TOP

回复 5# holley


dir /ad /b /s "%LOCALAPPDATA%\Mozilla\Firefox\Profiles" | find "default"
看下这个命令的结果里面有哪些是需要排除的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher

没有要排除的,,,只是之前的脚本会把wad6h6la.default-esr-1599013597748文件夹里的文件夹再次复制出来一遍。

TOP

回复 7# holley


    没看懂你想表达什么意思,要不你试试换个方式描述需求?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 holley 于 2021-11-18 13:06 编辑

回复 8# Batcher
我单纯就是想备份图示这两个路径的配置文件,但显然带default的几个文件夹里都有随机字符,使用查找关键字的方式 复制备份 会备份配置文件夹,但同时也会循环将配置文件夹里的文件夹又复制出来到备份文件夹同级目录。这种解释算清楚吗?
我目前暂时直接备份的整个profiles。


注:上面这一些文件夹都是2个带default的文件夹里面重复复制出来的。

TOP

回复 9# holley
  1. for /f "delims=" %%a in ('dir /ad /b /s "%LOCALAPPDATA%\Mozilla\Firefox\Profiles" ^| find "default" ^| findstr /v "default.*\\\\"') do (
  2.     xcopy /s /y /i "%LOCALAPPDATA%\Mozilla\Firefox\Profiles\%%~a" "Firefox收藏夹\root\%%~a\"
  3. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 10# Batcher
非常感谢!达到我的目的了,能否帮我解释一下:findstr /v "default.*\\\\"  
日常很少遇到find后还进一步findstr的例子。

TOP

返回列表