• bat搜集


    1. 删除文件夹下指定名称的所有子文件夹

    @echo off
     
    ::设置要保留的文件夹名,多个文件夹之间用英文逗号隔开,如果包含空格或英文逗号,英文&以及其它一些特殊字符的名字,请把该完整名字用英文双引号括起来
    set deleteName=bin,obj
     
    ::设置文件夹处理目录
    set DirPath=D:
     
    (for %%a in (%deleteName%) do echo %%~a)>"%tmp%delete.List"
    
    for /f "delims=" %%a in ('dir /ad/b/s "%DirPath%"') do (
        findstr /bei "%%~nxa" "%tmp%delete.List" >nul 2>nul && rd /s /q "%%~a" || echo %%a跳过
    )
    pause

    2. 删除指定日期前的文档

    @echo off
    ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
    ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
    ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持
    
    rem 指定待删除文件的存放路径
    set SrcDir=E:test
    
    rem 指定天数
    set DaysAgo=7
    
    forfiles /p %SrcDir% /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"

    3. 文件夹打包成rar文件

    @echo off
    
    rem 指定rar程序目录 + 备份到哪里 + 要打包的文件夹
    "C:Program Files (x86)WinRARWinRAR.exe" a -ag -ibck "E:acktopre.rar" "E:ackfrom"

    4. 自动拷贝文件至网络文件件

    @echo off
    
    rem 设置要备份的文件夹...
    set bakfrom=E:test
    
    rem 设置备份文件存放文件夹...
    set bakto=E:	estbackTo
    
    rem 设置文件名前缀
    set prefix=xxx
    
    rem 获取昨天
    for /f "delims=" %%a in ( 'PowerShell  "&{Get-Date (Get-Date).AddDays(-1) -uformat "%%Y_%%m_%%d"}"' ) do (
        if not defined yestoday set yestoday=%%a
    )
    set prefix=%prefix%%yestoday%
    
    
    echo 同步中。。。
    
    for /f "delims=" %%i in ('dir /b "%bakfrom%\%prefix%*.*"') do (
       dir /b "%bakto%" >nul |find /I "%%i" >nul || copy "%bakfrom%\%%i" "%bakto%\%%i" >nul
    )
    
    echo 备份拷贝完毕!

     5.拷贝文件夹下所有文件到另一个文件夹

    xcopy D:workproject	est21.0*.* D:workproject	est2测试1.0 /s /e

     6.共享文件夹做异地备份。

    思路:
    1. 文件复制到临时文件夹中
    2. rar打压缩包
    3. 拷贝rar文件到备份服务器
    4. 删除rar文件和临时文件夹

    @echo off
    
    rem 设置要备份的文件夹...
    set bakfrom=F:22222bak
    
    rem 设置备份文件存放文件夹...
    set bakto=F:22222OffsiteBackup
    
    rem 设置文件名前缀
    set prefix=test_
    
    rem 获取昨天
    for /f "delims=" %%a in ( 'PowerShell  "&{Get-Date (Get-Date).AddDays(-1) -uformat "%%Y_%%m_%%d"}"' ) do (
        if not defined yestoday set yestoday=%%a
    )
    set prefix=%prefix%%yestoday%
    
    rem 设置临时存放文件夹...
    set temp1=F:22222ak	emp
    set temp=%temp1%%yestoday%
    
    rem 设置rar的应用程序目录...
    set rarApp=C:Program FilesWinRAR
    
    
    echo step1:拷贝至临时文件夹。。。
    
    if exist %temp% rd /s /q %temp%
    md %temp%
    
    for /f "delims=" %%i in ('dir /b "%bakfrom%\%prefix%*.*"') do (
       dir /b "%temp%" >nul |find /I "%%i" >nul || copy "%bakfrom%\%%i" "%temp%\%%i" >nul
    )
    
    echo step1执行完毕!
    
    
    echo step2:rar打压缩包。。。
    
    F:
    cd %temp1%
    rem 指定rar程序目录 + 备份到哪里 + 要打包的文件夹
    "%rarApp%WinRAR.exe" a -ag "%temp%\%yestoday%.rar" "%yestoday%"
    
    echo step2执行完毕!
    
    
    echo step3:拷贝rar文件到备份服务器。。。
    
    for /f "delims=" %%i in ('dir /b "%temp%\%yestoday%*.rar"') do (
       dir /b "%bakto%" >nul |find /I "%%i" >nul || copy "%temp%\%%i" "%bakto%\%%i" >nul
    )
    
    echo step3执行完毕!
    
    
    echo step4:删除临时文件夹。。。
    
    if exist %temp% rd /s /q %temp%
    
    echo step4执行完毕!
    
    pause
    View Code
  • 相关阅读:
    List<int>转化为逗号链接的字符串
    分页的总页数算法
    高性能SQLServer分页语句
    webconfig中的&符号问题解决
    检测SQLServer复制订阅进度
    jQuery自定义数组操作类(类似于List集合的增删改查)
    解决jquery绑定click事件出现点击一次执行两次问题
    IdentityServer4登陆中心
    AES加密解密通用版Object-C / C# / JAVA
    T-SQL 基本语法
  • 原文地址:https://www.cnblogs.com/icyJ/p/BatchNote.html
Copyright © 2020-2023  润新知