CMD:检查特定文件夹中是否缺少特定文件

时间:2016-12-30 00:02:21

标签: batch-file cmd path directory

我如何检查文件夹是否缺少特定文件?我假设它是if not exist X (execute Y)和路径名的某种组合,但我无法提出任何解决方案。

来自if /?

EXIST filename      Specifies a true condition if the specified filename exists.

不确定我将路径放到文件夹的位置。

基本上我要问的是我将如何Check if any type of files exist in a directory using BATCH script,但只有特定文件夹中的特定文件名? (然后在前面放置一个not

提前谢谢。

2 个答案:

答案 0 :(得分:2)

要安全地检查文件,请使用此项(基于dir命令和redirection):

> nul 2>&1 dir /A:-D "D:\path\to\folder\file.ext" || echo File is missing!

要检查文件夹,您可以使用:

> nul 2>&1 dir /A:D "D:\path\to\folder" || echo Folder is missing!

为了完整起见:

要检查文件夹,请在路径中添加尾随\,例如

if not exist "D:\path\to\folder\" echo Folder is missing!

要检查该文件夹中的特定文件,以下内容不安全......:

if not exist "D:\path\to\folder\file.ext" echo File is missing!

...,因为这会not匹配名为file.ext的文件夹。

答案 1 :(得分:1)

function setData(key,val,obj)
{
    keys = key.split(/\./);
    last = keys.pop();

    keys.forEach(function(key)
    {
      if(typeof obj[key] === "undefined")
        obj[key] = {}; 
      obj = obj[key]; 
    });

    obj[last] = val;
}

如果我理解你的目的。