标题: [文本处理] 麻烦大佬帮忙看看我这个bat为什么得不到想要的结果? [打印本页]
作者: 韩辉 时间: 2021-12-3 15:06 标题: 麻烦大佬帮忙看看我这个bat为什么得不到想要的结果?
- echo off
- REM 声明采用UTF-8编码
- chcp 65001
-
- set ids=3,4
- for %%i in (%ids%) do (
- set "_remoteRes="
- set "_res="
- if "%%i"=="3" (
- set "_remoteRes=aaaaaaa"
- set "_res=bbbbbbb"
- ) else if "%%i"=="4" (
- set "_remoteRes=cccccccc"
- set "_res=dddddd"
- )
-
- echo 打印结果==%_remoteRes%
- echo 打印结果==%_res%
- )
- pause
复制代码
麻烦大佬看下,这里echo 打印不出来结果,用!!也不行,不知道是不是姿势不对
求大佬答疑解惑
作者: Batcher 时间: 2021-12-3 15:11
回复 1# 韩辉
!! 需要和 setlocal enabledelayedexpansion 配合使用
参考:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
如果还是不行,请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: 韩辉 时间: 2021-12-3 15:21
回复 4# qixiaobin0715
我是新手,就是尝试像写高级语言的代码那样,用for循环里面嵌套判断,并根据条件的不同给变量重新赋值,最后打印变量
作者: 韩辉 时间: 2021-12-3 15:58
回复 2# Batcher
加上setlocal enabledelayedexpansion可以了,谢谢大佬
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |