第一次海报,所以希望我得到这个权利。
我正在尝试设置一个batch file,首先读取当前的date和时间,并从中创build一个文件夹,如下所示:
@echo off SET dirname="%date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,2%%time:~3,2%" mkdir Bat\%dirname% attrib +s +h %dirname% /s /d
在此之后,我将一些备份放到文件夹中,然后用7zip命令行将其压缩,并将此行添加到第一个batch file中:
start /wait Bat\7Zip.bat %dirname% Bat\%dirname%* -r
其中调用7zip.bat这是:
@echo off Bat\7z.exe a -mhe -p*** Bat\%dirname%.7z Bat\%dirname%* -r exit 0
最后我尝试删除原来的文件夹使用:
start /wait del /F /Q /a Bat\%dirname% exit 0
这是我的两个问题。 首先,当它运行7zip文件,完成后,第二个命令提示符保持打开,当我手动closures这个第一个提示时,询问是否要中止批处理作业,即使它完成。 我希望一切都靠自己来完成。
其次, del命令工作在它删除文件夹中的文件,但不是文件夹本身,任何想法我失踪?
在此先感谢所有的帮助。 对不起,这是我的第一批尝试之一,所以可能是很sl。。
@echo off SET "dirname=%date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,2%%time:~3,2%" mkdir "Bat\%dirname%" Bat\7z.exe a -mhe -p*** "Bat\%dirname%.7z" "Bat\%dirname%*" -r RD /S /Q "Bat\%dirname%" exit 0
回答关于目录移除的第二个问题:在del /F /Q /a Bat\%dirname%
您必须调用rmdir Bat\%dirname%
从start /help
命令/程序如果是内部cmd命令或批处理文件,那么命令处理器将通过/ K开关运行到cmd.exe。 这意味着该命令运行后窗口将保持不变。
If it is not an internal cmd command or batch file then it is a program and will run as either a windowed application or a console application.
所以你应该使用start /wait Bat\7z.exe [...]
而不是start /wait Bat\7Zip.bat [...]
关于目录清除使用RD /S /Q [drive:]path
(谨慎使用)