Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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,我正在寻找一种在执行附加的if/else语句之前测试文件“resume.txt”的方法。是否有办法检查文件是否存在以及其大小是否大于0KB。。。如果文件=num | Find/V“0”>num | |退出/B 1 如果文件不存在或大小为零,则将退出整个脚本。然后您只需要将普通脚本放在该行下方。您可以使用获取%%a in(resume.txt)的文件大小do set size=%%~za并将其与简单的进行比较。 for %%a in ("C:\Job\Resume.txt") do set /A

我正在寻找一种在执行附加的if/else语句之前测试文件“resume.txt”的方法。是否有办法检查文件是否存在以及其大小是否大于0KB。。。如果文件=<0KB,我想退出程序。这可能吗

if exist C:\Job\Resume.txt (
   echo INPUT FILE C:\Job\Resume.txt
   echo OUTPUT FILE %JOB_RESUME_LOC%\%FILE_DATETIME%_info.dat
   copy C:\Job\Resume.txt%JOB_RESUME_LOC%\%FILE_DATETIME%_info.dat
   echo File Resume.txt copied
) else (
   echo File Resume.txt not copied
) 
基本上,如果文件“Resume.txt”为0KB,则退出程序。否则,继续运行程序。我希望这不是太令人困惑

基于:

有关说明,请阅读
call/?
和。下一个引用语句应用于
%a
参数:

%~za
%a
扩展到文件大小


如果
“C:\Job\Resume.txt”
文件不存在,则
%~za
将扩展为空字符串
因此,
set/A size=%%~za+0
返回批处理脚本的第一行

@Where/T C:\Job:Resume.txt 2>num | Find/V“0”>num | |退出/B 1

如果文件不存在或大小为零,则将退出整个脚本。然后您只需要将普通脚本放在该行下方。

您可以使用
获取%%a in(resume.txt)的文件大小do set size=%%~za
并将其与简单的
进行比较。
for %%a in ("C:\Job\Resume.txt") do set /A size=%%~za + 0
if %size% GTR 0 (
   echo INPUT FILE C:\Job\Resume.txt
   echo OUTPUT FILE %JOB_RESUME_LOC%\%FILE_DATETIME%_info.dat
   copy "C:\Job\Resume.txt" %JOB_RESUME_LOC%\%FILE_DATETIME%_info.dat
   echo File Resume.txt copied
) else (
   echo File Resume.txt not copied
)