高圧縮で安定した動作の 7zipは手動の圧縮のほかに、コマンドでも圧縮することができます。
日々のルーチンワークで決まった形式・保存先であればbat化することで人の手から離れ完全に自動化することもできます。
7zipコマンド化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION CD %~dp0 REM 概要:圧縮元フォルダにあるYYYYMMDDフォルダを7zipでYYYYMMDD形式で圧縮し移動する処理 REM 引数1:YYYYMMDD形式の日付。(日付が確定している場合はこの辺り変えてください) REM 引数2:圧縮元フォルダ \で終わる。(フォルダが確定している場合はこの辺り変えてください) REM 引数3:圧縮先フォルダ \で終わる。(フォルダが確定している場合はこの辺り変えてください) REM 引数1が無ければ本日日付を入れる IF "%1" == "" ( SET WORKDAY=%DATE:/=% ) ELSE ( REM 引数から作業日付を設定 SET WORKDAY=%1 ) SET strZipBefDir=%2 SET strZipAftDir=%3 REM 引数2が無ければ入力を求める IF "%2" == "" ( SET /P strZipBefDir="圧縮元フォルダ名を入力してください。(例:%USERPROFILE%\Documents\):" ) REM 引数3が無ければ入力を求める IF "%3" == "" ( SET /P strZipAftDir="圧縮先フォルダ名を入力してください。(例:%USERPROFILE%\Desktop\):" ) ECHO. ECHO. ECHO 圧縮元フォルダ:%strZipBefDir% ECHO. ECHO 圧縮先フォルダ:%strZipAftDir% ECHO. ECHO. ECHO 処理を続ける場合はEnterキーを押してください ECHO. ECHO. PAUSE ECHO. ECHO. ECHO 作業日付の現在値 %WORKDAY% ECHO. ECHO. SET /P RESULT="作業日を変更しますか?(y=変更する/any=変更しない):" :WORKDAYCHANGE IF %RESULT% == y ( CLS ECHO. ECHO. ECHO 作業日付の現在値 %WORKDAY% ECHO. ECHO. SET /P WORKDAY="作業日をyyyymmdd形式で入力してください:" ECHO. ECHO. ECHO !WORKDAY!を設定しました。 ECHO. ECHO. SET /P RESULT="この設定で良ければ [ 1 ] を入力してください:" IF %RESULT% == y GOTO WORKDAYCHANGE ) CLS ECHO. ECHO. ECHO 作業日 [ %WORKDAY% ] で処理を続行します。 ECHO. ECHO. ECHO 処理を中断する場合は×ボタンで閉じてください ECHO. ECHO. PAUSE REM zip元ファイルフルパスの確認。無ければ終了 DIR %strZipBefDir%%WORKDAY% > nul IF %ERRORLEVEL% EQU 1 ( ECHO. ECHO. ECHO 【警告】圧縮するフォルダがありません。処理を終了します【警告】 ECHO. ECHO. PAUSE EXPLORER %strZipBefDir% EXIT ) REM 圧縮移動先のパスの確認。無ければ終了 DIR %strZipAftDir% > nul IF %ERRORLEVEL% EQU 1 ( ECHO. ECHO. ECHO 【警告】圧縮移動先のフォルダがありません。処理を終了します【警告】 ECHO. ECHO. PAUSE EXPLORER %strZipAftDir% EXIT ) REM 圧縮移動先にzipがあるか確認。あれば終了。レアケース DIR %strZipAftDir%%WORKDAY%\%WORKDAY%.zip > nul IF %ERRORLEVEL% EQU 0 ( ECHO. ECHO. ECHO 【警告】圧縮移動先にzipがあります。手動でzipに追加してください。処理を終了します【警告】 ECHO. ECHO. PAUSE EXPLORER %strZipBefDir% PING -n 3 LOCALHOST > nul EXPLORER %strZipAftDir%%WORKDAY%\ EXIT ) REM 7zip.exeで圧縮し移動する(圧縮後元ファイルを削除) "C:\Program Files\7-Zip\7z.exe" a -sdel %strZipAftDir%%WORKDAY%\%WORKDAY%.zip %strZipBefDir%%WORKDAY% REM 圧縮移動先にzipが作成されたか確認。あれば何もしない。無ければフォルダを開いて確認する DIR %strZipAftDir%%WORKDAY%\%WORKDAY%.zip > nul IF %ERRORLEVEL% EQU 1 ( ECHO. ECHO. ECHO 【警告】zip作成に失敗したかもしれません。処理を終了します【警告】 ECHO. ECHO. PAUSE EXPLORER %strZipBefDir% PING -n 3 LOCALHOST > nul EXPLORER %strZipAftDir%%WORKDAY%\ EXIT ) ECHO. ECHO. ECHO [info] zip化処理成功!お疲れ様でした [info] ECHO. ECHO. PAUSE |
著作権について
著作権は当サイトの管理者に帰属します。
商用利用以外であれば著作権フリーですが、念のためコメントにてお知らせください。