标题: [文本处理] [已解决]批处理怎样判断是否是周末? [打印本页]
作者: lonron 时间: 2023-4-1 19:57 标题: [已解决]批处理怎样判断是否是周末?
本帖最后由 lonron 于 2023-5-1 00:12 编辑
由于Date命令在系统日期格式为yyyy-MM-dd时不会输出是周几所以搜了另一个方式如下代码:- @echo off
-
- for /f "delims== tokens=2" %%i in ('wmic path win32_localtime get dayofweek /format:list ^| find "="') do (
- if %%i equ 6 (
- echo 周六
- pause
- )
- if %%i equ 0 (
- echo 周日
- pause
- )
- )
- echo 工作日
- pause
复制代码
- @echo off
- setlocal enabledelayedexpansion
-
- for /f %%i in ('wmic path win32_localtime get dayofweek /format:list ^| find "="') do (
- set %%i
- if !DayOfWeek! equ 6 (
- echo 周六
- pause
- )
- if !DayOfWeek! equ 0 (
- echo 周日
- pause
- )
- )
- echo 工作日
- pause
复制代码
以上两段代码都不能正确判断,是哪里出了问题呢?
作者: Batcher 时间: 2023-4-1 20:14
回复 1# lonron
wmic命令结果的行尾有特殊的不可见字符,参考:
http://bbs.bathome.net/thread-2862-1-1.html
http://bbs.bathome.net/thread-28534-1-1.html
http://bbs.bathome.net/thread-28535-1-1.html
http://bbs.bathome.net/thread-12033-1-1.html- @echo off
- for /f "tokens=2 delims==" %%i in ('wmic path win32_localtime get dayofweek /value ^| findstr "="') do (
- for /f "delims=" %%a in ("%%i") do (
- if %%a equ 6 (
- echo 周六
- ) else if %%a equ 0 (
- echo 周日
- ) else (
- echo 工作日
- )
- )
- )
- pause
复制代码
作者: lonron 时间: 2023-4-1 20:27
回复 2# Batcher
还真是,输出文本看了一下,多了一个换行符!!!感谢帮助,对wmic不是很熟悉。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |