Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 是否在创建/放置/保存/存储到带有批处理文件的目录/文件夹时打开新文件?_Batch File - Fatal编程技术网

Batch file 是否在创建/放置/保存/存储到带有批处理文件的目录/文件夹时打开新文件?

Batch file 是否在创建/放置/保存/存储到带有批处理文件的目录/文件夹时打开新文件?,batch-file,Batch File,大家好,堆栈溢出 我在网上搜索了很多,但是没有找到任何相关的东西 我正在编写一个脚本,一旦将文件放入目录中,它就会直接打开一个文件。假设我有目录: F:\Files 现在我下载一个文件到那个文件夹。将创建以下内容: F:\Files\download.zip REM This is the actual file, but 0 KB F:\Files\download.part REM This is the content of the *.zip, until it is ful

大家好,堆栈溢出

我在网上搜索了很多,但是没有找到任何相关的东西

我正在编写一个脚本,一旦将文件放入目录中,它就会直接打开一个文件。假设我有目录:

F:\Files
现在我下载一个文件到那个文件夹。将创建以下内容:

F:\Files\download.zip    REM This is the actual file, but 0 KB
F:\Files\download.part   REM This is the content of the *.zip, until it is fully downloaded.

那么,当download.zip的大小大于1字节时,我可以使用哪个脚本打开它?

假设
%1
是作为参数传递给脚本的文件名,您可以执行以下操作:

IF %~z1 GTR 0 (
  commands to process the file
)
IF%~z1 GTR 0(
处理文件的命令
)

%~z1
计算结果为
%1
中指定的文件大小
GTR
表示大于,因此条件检查大小是否大于0,如果大于0,则执行处理文件的
命令。

此bach文件应满足您的要求(不确定是否在所有版本的Windows上都能工作)

它正在使用的脚本,但添加了您请求的功能

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET dirname=F:\Files

:Begin
CLS
ECHO %TIME%
FOR /R "%dirname%\" %%a IN (*.zip) DO CALL :process1 %%a
ping.exe localhost -n 11 >nul
GOTO Begin

:process1
IF %~z1 GTR 0 "%1"
GOTO :EOF
ping.exe localhost-n 11>nul
只是一个延迟,因此您可以让批处理文件保持运行,它将按照
-n 11
的定义每10秒循环一次,这将导致本地主机每隔1秒进行11次ping,在几微秒后第一次ping已经成功

我添加了命令行
ECHO%TIME%
,这样就可以看到它仍然在工作,因为这个时间值会在每次循环迭代中更新


这种批量解决方案有一个缺点。如果在下一次循环运行时ZIP文件仍在目录中,它会再次打开ZIP文件。

我假设您已经完成了该部分,现在我可以看出,这样做有点为时过早。但除此之外,我必须说你的问题有点模糊,你现在已经得到了什么。事实上,从某个角度来看,你可以从你的问题中得出,目前你什么都没有。无论如何,你真的应该一次问一件事。这对人们来说不那么令人沮丧,并且会给你更多的机会来获得每个问题的最佳答案。