找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24605|回复: 3

[日期时间] [已解决]批处理for里面带if的输出为什么不对

[复制链接]
发表于 2021-5-17 14:38:04 | 显示全部楼层 |阅读模式
  1. @echo off
  2. for /f "tokens=2 delims==" %%i in ('wmic path win32_localtime get DayOfWeek /value ^| findstr "="') do (
  3.   echo %%i
  4.   if %%i== 1 (
  5.   echo 1
  6.   ) else (
  7.   echo NO 1
  8.   )
  9. )
  10. pause
复制代码
输出:
1
NO 1

想在星期一执行某个操作,if判断后为什么转到else去了
发表于 2021-5-17 18:04:44 | 显示全部楼层
%%i应当含有未显示的字符
echo "%%i" 试试
发表于 2021-5-17 19:33:23 | 显示全部楼层
二楼说的对,有非打印字符CR
  1. @echo off
  2. for /f "tokens=2 delims==" %%i in ('wmic path win32_localtime get DayOfWeek /value ^| findstr "="') do set weekday=%%i
  3. set weekday=%weekday:~,1%
  4. if %weekday%==1 (
  5.   echo 1
  6. ) ^
  7. else (
  8.   echo NO 1
  9. )
复制代码

评分

参与人数 1技术 +1 收起 理由
habulu + 1 乐于助人

查看全部评分

发表于 2021-5-17 22:30:39 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:24 , Processed in 0.030387 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表