zoukankan      html  css  js  c++  java
  • bat 中如何初始化变量为空+如何判断文件夹是否为空

    bat 中,有时候,我们需要文件夹操作之前,希望知道文件夹是否问空,如果为空,就没必要执行后续操作,我的bat脚本如下:

    @echo off
    setlocal ENABLEDELAYEDEXPANSION    
    set "dir_flag="
    for /F %%s in ( 'dir /B target' ) do ( set dir_flag=%%s )
    if "!dir_flag!" == "" ( 
    echo target dir is null
    exit 0
    )else (
    echo target dir not null
    )

    关于上述脚本的解读如下:

    setlocal ENABLEDELAYEDEXPANSION    是设置环境变量延迟生效,主要是后面的for中使用和后面的!dir_flag!变量的读取,关于环境变量延迟,请自行百度
    set "dir_flag="    设置初始值为空,如果你要设置初始值为0之类的,可以 set "dir_flag=0"
    for /F %%s in ( 'dir /B target' ) do ( set dir_flag=%%s )  这是bat的命令赋值方式,将dir /B的执行结果复制给dir_flag,类似shell的dir_flag=`ls target`,
    具体就是dir /B target执行后会显示target文件夹下的文件名,如果有文件,那么dir_flag就不空,如果没文件,就是空的,关于命令赋值的方式,可以参考我的另外的博客:

    bat/cmd将命令执行的结果赋值给变量

    if "!dir_flag!" == ""  这一句是判断上面赋值的dir_flag是否为空
    另外,exit 0这里是退出脚本,如果你使用的是函数,可以使用goto:eof退出函数。

    上面脚本的执行结果如下:
    (1)当target下有文件时:

     (2)当target下没文件时

     
  • 相关阅读:
    ASM FailGroup验证
    oracle 11g RAC 补丁升级方法
    数据库优化一
    TypeScript(类—继承—多态)
    TypeScript(安装配置—数据类型—函数)
    IE9兼容
    移动端自适应vw、vh、rem
    npm命令随笔
    安卓、IOS兼容问题
    获取页面大小和元素位置offset、client、scroll
  • 原文地址:https://www.cnblogs.com/zndxall/p/13957883.html
Copyright © 2011-2022 走看看