将Batch If/ELSE语句分成多行-难以阅读的代码 [英] Break Batch If/ELSE Statement into multiple lines - Hard to Read Code

查看:127
本文介绍了将Batch If/ELSE语句分成多行-难以阅读的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里找到了此代码-> :: 使用批处理检查路径是文件"还是文件夹"

I found this code here --> ::Check if the path is File or Folder using batch

但是我发现很难阅读并且想要简化它/将其分解.我不确定如何执行此操作,我尝试了以下操作,但进行了一些更改,均无济于事.有人可以帮忙吗?谢谢!

But I find it hard to read and want to simplify it/break it apart. I'm not sure how to do this, I tried the below and a few variations to no avail. Can anybody help? Thanks!

此代码有效:

@Echo Off
Set "ATTR=D:\Download\Documents\New"
For %%Z In ("%ATTR%") Do If "%%~aZ" GEq "d" (Echo Directory
) Else If "%%~aZ" GEq "-" (Echo File) Else Echo Inaccessible
Pause

这是我想要的样子,但无法弄清楚:

@echo off

set "ATTR=%AppData%\Microsoft\Excel\XLSTART"

For %%Z In ("%ATTR%") Do If "%%~aZ" GEq "d" GoTo DIR
Else If "%%~aZ" GEq "-" GoTo FILE
Else GoTo NOTFOUND

:DIR
Echo "Dir Found!"
Pause

:FILE
Echo "File Found!"
Pause

:NOTFOUND
Echo "NOTHING FOUND!"
Pause

推荐答案

在链接中获取初始代码,并添加括号有助于破坏IfElse结构:

Taking the initial code in the link, and adding parentheses helps to break down the If and Else structure:

@Echo Off
For %%Z In ("%ATTR%") Do (
    If "%%~aZ" GEq "d" (
        Echo Directory
    ) Else (
        If "%%~aZ" GEq "-" (
            Echo File
        ) Else (
            Echo Inaccessible
        )
    )
)
Pause

因此要用GoTo对其进行修改,也许像这样的东西更适合您的目的:

So to modify it with GoTo's, perhaps something like this is more suitable for your purposes:

@Echo Off
PushD "%~dp0"
ClS
Set "ATTR=%AppData%\Microsoft\Excel\XLSTART"
For %%Z In ("%ATTR%") Do (
    If "%%~aZ" GEq "d" (
        GoTo DIR
    ) Else (
        If "%%~aZ" GEq "-" (
            GoTo FILE
        ) Else (
            GoTo NOACCESS
        )
    )
)
GoTo NOTFOUND

:DIR
Echo "Directory Found!"
GoTo ENDFOR

:FILE
Echo "File Found!"
GoTo ENDFOR

:NOTFOUND
Echo "Not Found!"
GoTo ENDFOR

:NOACCESS
Echo "Inaccessible!"

:ENDFOR
Pause
Exit /B

这篇关于将Batch If/ELSE语句分成多行-难以阅读的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆