Board logo

标题: [文件操作] [已解决]求助批处理如何创建压缩文件 [打印本页]

作者: dyhq2021    时间: 2022-1-21 09:44     标题: [已解决]求助批处理如何创建压缩文件

本帖最后由 dyhq2021 于 2022-1-24 08:01 编辑

d:\1\1\***日期表.txt
d:\1\2\***日期表.txt
d:\1\3\***日期表.txt
d:\1\4\***日期表.txt
如何创建压缩文件,把当月的表 压缩成一个文 件
日期为年月
作者: Batcher    时间: 2022-1-21 09:52

回复 1# dyhq2021


    请给出几个真实的完整文件名,以便确认日期格式。
作者: dyhq2021    时间: 2022-1-21 09:56

本帖最后由 dyhq2021 于 2022-1-21 13:34 编辑

d:用户目录\Desktop\新建文件夹\月报表文件\目录1\2022\***表01.xlsx (01为月)
d:用户目录\Desktop\新建文件夹\月报表文件\目录2\2022\***表01.xlsx (01为月)
d:用户目录\Desktop\新建文件夹\月报表文件\目录3\2022\***表01.xlsx (01为月)
作者: flashercs    时间: 2022-1-21 14:10

本帖最后由 flashercs 于 2022-1-21 14:24 编辑
  1. rar.exe a .\压缩包.rar "d:\1\1\*日期表.txt" "d:\1\2\*日期表.txt" "d:\1\3\*日期表.txt" "d:\1\4\*日期表.txt"
复制代码
自己在论坛下载rar.exe
作者: Batcher    时间: 2022-1-21 16:45

回复 3# dyhq2021


脚本放在【月报表文件】文件夹下面执行
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 根据自己电脑实际情况设置 7-Zip 的路径
  4. set "My7z=C:\Program Files\7-Zip\7z.exe"
  5. cd /d "%~dp0"
  6. for /f "delims=" %%a in ('dir /b /s /a-d *.xlsx') do (
  7.     echo 正在处理文件 "%%a"
  8.     set "Month=%%~nxa"
  9.     set "Month=!Month:~-7,2!"
  10.     for %%b in ("%%a\..") do (
  11.         set "Year=%%~nxb"
  12.     )
  13.     "%My7z%" a "!Year!-!Month!.zip" "%%a"
  14. )
复制代码

作者: dyhq2021    时间: 2022-1-22 08:29

本帖最后由 dyhq2021 于 2022-1-23 08:22 编辑

请教 下 如何生成到  年份 的 目 录下
作者: dyhq2021    时间: 2022-1-23 08:22

本帖最后由 dyhq2021 于 2022-1-23 09:00 编辑

回复 5# Batcher
生成的文件为
2019年02月 管理报表.zip
2019年03月 管理报表.zip
2019年04月 管理报表.zip
2019年05月 管理报表.zip
如何按年份归类
作者: Batcher    时间: 2022-1-23 13:29

回复 6# dyhq2021


5楼代码13行下面增加:
  1.     if not exist "!Year!" (
  2.         md "!Year!"
  3.     )
  4.     move "!Year!-!Month!.zip" "!Year!"
复制代码

作者: dyhq2021    时间: 2022-1-24 09:23

@echo off

setlocal enabledelayedexpansion
REM 根据自己电脑实际情况设置 7-Zip 的路径
set "My7z=C:\Program Files\7-Zip\7z.exe"

cd /d "%~dp0"

for /f "delims=" %%a in ('dir /b /s /a-d *.xlsx') do (
    echo 正在处理文件 "%%a"
    set "Month=%%~nxa"
    set "Month=!Month:~-7,2!"
    for %%b in ("%%a\..") do (
        set "Year=%%~nxb"
    )
"%My7z%" a "!Year!年!Month!月-东阳各行自助设备外包业务运营管理报表.zip" "%%a" -p123
)


:归类

for /f "delims=" %%i in ('dir /a-d /b *.zip') do (
    for /f "delims=年月报表" %%j in ("%%i") do (
        md %%j年月报表 2>nul
        move "%%i" %%j年月报表
    )
)
:eof
exit




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