所以我试图创建一个Windows bat文件(脚本),在启动时,将存档计算机上的特定文件夹,并将生成的.zip文件放在指定的文件夹中。如果没有创建目标文件夹,它会创建它,我希望ti在每个星期天凌晨3点运行,名称会尊重这个名称标准:windows-2014-12-10-03-50.zip(例如)。我真的是脚本的初学者,到目前为止我这样做了:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET sourceDirPath="%1"
IF [%2] EQU [] (
SET destinationDirPath="%USERPROFILE%\Desktop"
) ELSE (
SET destinationDirPath="%2"
)
IF [%3] EQU [] (
SET destinationFileName="%~n1%.zip"
) ELSE (
SET destinationFileName="%3"
)
SET tempFilePath=%TEMP%\FilesToZip.txt
TYPE NUL > %tempFilePath%
FOR /F "DELIMS=*" %%i IN ('DIR /B /S /A-D "%sourceDirPath%"') DO (
SET filePath=%%i
SET dirPath=%%~dpi
SET dirPath=!dirPath:~0,-1!
SET dirPath=!dirPath:%sourceDirPath%\=!
SET dirPath=!dirPath:%sourceDirPath%=!
ECHO .SET DestinationDir=!dirPath! >> %tempFilePath%
ECHO "!filePath!" >> %tempFilePath%
)
MAKECAB /D MaxDiskSize=0 /D CompressionType=MSZIP /D Cabinet=ON /D Compress=ON /D UniqueFiles=OFF /D DiskDirectoryTemplate=%destinationDirPath% /D CabinetNameTemplate=%destinationFileName% /F %tempFilePath% > NUL 2>&1
DEL setup.inf > NUL 2>&1
DEL setup.rpt > NUL 2>&1
DEL %tempFilePath% > NUL 2>&1
然而它不起作用。谢谢你,就像我说的那样,非常初学者。