找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29076|回复: 3

[文件操作] 批处理自动按照日期备份多个文件夹里面的文件

[复制链接]
发表于 2021-5-9 21:14:28 | 显示全部楼层 |阅读模式
之前写了一个批处理命令,按照日期自动备份某个文件夹里面的文件,现在需要多备份 E:\45678和F:\5588和F:\376
请问如何增加E:\45678和F:\5588和F:\376  这三个文件夹也执行E:\12345 这个备份的命令

之前命令:
  1. @ECHO OFF&setlocal enabledelayedexpansion
  2. set "SrcDir=E:\12345"
  3. cd /d "%SrcDir%"
  4. for /f "tokens=1-3 delims=" %%a in ('dir /a-d/b') do (
  5.         set "write_date=%%~ta"
  6.         set "write_date=!write_date:/=!"
  7.         set "write_date=!write_date:~0,8!"
  8.         if not exist !write_date! md "!write_date!"
  9.         move /y "%%a" "!write_date!"
  10. )
复制代码
发表于 2021-5-9 21:34:34 | 显示全部楼层
回复 1# 司马光2008


把你代码里面的第2、3行换成这样试试:
  1. for %%i in (E:\12345 E:\45678 F:\5588 F:\376) do (
  2.     set "SrcDir=%%i"
  3.     call :ExecMove
  4. )

  5. :ExecMove
  6. cd /d "!SrcDir!"
复制代码
发表于 2021-5-9 21:37:16 | 显示全部楼层
  1. @echo off
  2. set SrcDir="E:\12345" "E:\45678" "F:\5588" "F:\376"
  3. setlocal enabledelayedexpansion
  4. for %%i in (%SrcDir%) do (
  5.     pushd %%i
  6.     for /f "tokens=1-3 delims=" %%a in ('dir /a-d/b') do (
  7.         set "write_date=%%~ta"
  8.         set "write_date=!write_date:/=!"
  9.         set "write_date=!write_date:~0,8!"
  10.         if not exist !write_date! md "!write_date!"
  11.         move /y "%%a" "!write_date!"
  12.     )
  13.     popd
  14. )
  15. pause
复制代码
 楼主| 发表于 2021-5-9 22:00:48 | 显示全部楼层
谢谢各位的帮忙
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 14:39 , Processed in 0.017982 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表