批處理指令碼 打包制定資料夾中的所有子資料夾

2021-10-14 06:01:19 字數 1458 閱讀 1859

@echo off

echo 資料夾子目錄打包指令碼 v1.0.0.20210106

setlocal enabledelayedexpansion

set sdstdirpath=%1

set sdstdirpath="%sdstdirpath%"

set sdstdirpath=%sdstdirpath:"=%

rem echo sdstdirpath=%sdstdirpath%

if "%sdstdirpath%"=="" (

echo 目標資料夾路徑為空

echo *************************

echo 呼叫格式為compressdir2zip 目標資料夾路徑 壓縮程式路徑

echo 壓縮程式路徑可以為空

exit /b 1

)set szipexepath=%2

set szipexepath="%szipexepath%"

set szipexepath=%szipexepath:"=%

rem echo szipexepath=%szipexepath%

if "%szipexepath%"=="" (

set szipexepath=c:\program files\7-zip\7z.exe

)if not exist "%szipexepath%" (

echo 壓縮程式%szipexepath%不存在

exit /b 2

)pushd %~dp0

cd /d "%sdstdirpath%"

echo 即將打包下列資料夾

dir /b /a:d

echo *****===打包開始**********

for /f "delims=" %%i in ('dir /b /a:d') do (

set sdirname=%%i

rem echo sdirname=!sdirname!

set szipname=!sdirname!.zip

rem echo szipname=!szipname!

if exist "!szipname!" (del /q "!szipname!") >nul || goto :error

"%szipexepath%" a "!szipname!" "!sdirname!" >nul || goto :error

echo 已將%%i資料夾的打包

)goto :success

echo *****===打包結束**********

endlocal

:error

popd

echo failed with error #%errorlevel%.

exit /b %errorlevel%

:success

popd

exit /b 0

批處理實現資料夾同步

1.設定檔案1 file list.txt 列出要同步的資料夾 dir1 dir2 dirn 2.批處理檔案 copy.cmd set remote root path f dir set local root path d local dir for f a in file list.txt do...

批處理管理檔案以及資料夾

一 set 命令 回顧一下set 命令有兩個引數 1 a 直接設定了乙個變數或者變數表示式,比如 set a var 2 或者 set a var 2 2 p 設定乙個變數,這個變數來自使用者的命令列的輸入結果 set p num 請選擇要執行的操作 if num 1 二 案列 2.1 批量更改檔名...

批處理 新建公共資料夾和使用者資料夾

echo off rem 新建公共資料夾和使用者資料夾 md d public md d user rem 共享公共資料夾給所有使用者唯讀許可權 net share public d public grant everyone,read unlimited echo y cacls d public...