Windows 在批处理文件中使用zip有时会在没有提示的情况下要求返回

Windows 在批处理文件中使用zip有时会在没有提示的情况下要求返回,windows,batch-file,Windows,Batch File,我正在使用一个小批量脚本,它将使用forfiles和zip压缩大量文件夹。 有时,由于没有真正可复制的原因,程序被卡住,输出无法继续,整个过程冻结。如果我进入终端窗口并点击返回,程序将继续 forfiles /c "cmd /c if @isdir==TRUE zip -r -u -m -8 @file.zip @file" 我不知道为什么zip命令会等待“输入”,而且它不会提示我回答问题或任何事情 有没有人经历过这样的事情并对此有解释?您使用forfiles的原因是什么?我个人讨厌它有非常

我正在使用一个小批量脚本,它将使用
forfiles
zip
压缩大量文件夹。 有时,由于没有真正可复制的原因,程序被卡住,输出无法继续,整个过程冻结。如果我进入终端窗口并点击返回,程序将继续

forfiles /c "cmd /c if @isdir==TRUE zip -r -u -m -8 @file.zip @file" 
我不知道为什么zip命令会等待“输入”,而且它不会提示我回答问题或任何事情


有没有人经历过这样的事情并对此有解释?

您使用forfiles的原因是什么?我个人讨厌它有非常具体的原因。我宁愿在(*)中为/d%%I做一个
for/d
loop
for/d%%I做zip-r-u-m-8 file.zip“%%I”
,因为我做了一些其他选择,例如“last day modified”。我只是举了一个简短的例子,但仍然存在问题。我还没有看到它,只是使用了
zip
,正如我所说的,它到目前为止是不可复制的。这就是为什么我不喜欢
for files
它在最好的时候是不可预测的。有没有一种简便的方法来检查文件夹的特定年龄?与365天之前的情况类似?目录的修改日期通常是其中最新文件的日期。您真正想要的可能是只包含上次访问一年多前的文件的目录。如果您经常读取目录中的文件,这些文件可能不一定已被修改,但在这些情况下,归档这些文件将是一个倒退。Forfiles适用于修改日期。使用PowerShell不是更好吗?它将日期作为对象而不是字符串,并且还内置了zip文件功能?