首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.bat If Then语句

.bat If Then语句
EN

Stack Overflow用户
提问于 2010-09-01 01:12:26
回答 4查看 39.7K关注 0票数 3

我需要帮助写一个批处理脚本

代码语言:javascript
复制
if file newfile.txt exists
then  del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-01 01:15:30

代码语言:javascript
复制
if not exist newfile.txt goto skip
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
:skip
票数 8
EN

Stack Overflow用户

发布于 2010-09-01 01:18:48

您可以使用简单的弧形括号(也支持else!)

代码语言:javascript
复制
@echo off
IF EXIST newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
)

使用else:

代码语言:javascript
复制
@echo off
IF EXIST newfile.txt (
del "InDesignData.txt"
ren "newfile.txt" "InDesignData.txt"
) else (
echo Making tea
)
票数 10
EN

Stack Overflow用户

发布于 2012-07-17 12:16:40

有几种方法可以做到这一点,最简洁的方法是:

在一行中:

代码语言:javascript
复制
if exist newfile.txt del "InDesignData.txt" & ren "newfile.txt" "InDesignData.txt"

在单独的行上:

代码语言:javascript
复制
if exist newfile.txt del "InDesignData.txt"
if exist newfile.txt ren "newfile.txt" "InDesignData.txt"

或使用()

代码语言:javascript
复制
if exist newfile.txt (
    del "InDesignData.txt"
    ren "newfile.txt" "InDesignData.txt"
)

使用方括号是对使用GOTO的改进,因为它的代码要干净得多。(这通常不是我第一次想到的,因为我是在MS-DOS下学习BATCH的。)

我想不出使用GOTO语句的理由,除非你使用的是Windows的老版本。在这种情况下,如果您要测试的内容(在本例中为newfile.txt存在)在第一个 if 语句中发生了更改(在本例中为删除),则我只会使用GOTO语句。GOTO语句往往会使以后阅读脚本变得更加困难。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3611465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档