标题: [其他] 批处理创建任务计划echo y|通过管道符传递不了y [打印本页]
作者: likeyou32 时间: 2024-4-11 10:00 标题: 批处理创建任务计划echo y|通过管道符传递不了y
- @echo off
- ECHO Y|(schtasks /create /tn "进入睡眠" /tr "D:\Personal\Desktop\睡眠或休眠.bat" /sc once /sd "2024/04/11" /st 11:20 /RL HIGHEST)
- pause
复制代码
当任务名 “进入睡眠” 已经存在时,会提示 “要替换它吗(Y/N)?” ,于是我想到用echo y解决,结果提示:错误: 无效输入。有效值是 (Y|N)。
奇怪了 ,为什么通过管道符传递不了y呢 ?
作者: ShowCode 时间: 2024-4-11 10:45
回复 1# likeyou32 - @echo off
- REM 黑暗森林法则,不管有没有,先打一梭子
- schtasks /delete /tn "进入睡眠" /f >nul 2>nul
- schtasks /create /tn "进入睡眠" /tr "D:\Personal\Desktop\睡眠或休眠.bat" /sc once /sd "2024/04/11" /st 11:20 /rl highest
复制代码
作者: likeyou32 时间: 2024-4-11 10:54
回复 2# ShowCode
您这是绕道,,我疑惑的是echo y 为什么没传递过去 ? 难道是因为后边schtasks /create命令过长,才没传递过去 ? 后边的整个命令我加括号了啊 ...
作者: likeyou32 时间: 2024-4-11 11:03
回复 2# ShowCode
刚又试了一下 echo y|(schtasks /delete /tn "进入睡眠") 也是不行,,也许schtasks不支持这种方式传递y
作者: holley 时间: 2024-4-11 12:22
回复 4# likeyou32
应该就是schtasks没有正常接收到Y参数的响应,直接/F强制添加任务即可。
作者: aloha20200628 时间: 2024-4-11 12:58
回复 4# likeyou32
普通终端用户没有权限修改变动已有的计划任务,楼主可用系统管理员身份打开cmd窗口,重试
SCHTASKS /F /Delete /TN ...
SCHTASKS /F /Create /TN ...
应可见效,无须 echo,y|... 管道喂送
作者: Batcher 时间: 2024-4-11 14:25
回复 3# likeyou32
不是每个命令都接受来自管道的数据,例如:runas
http://bbs.bathome.net/thread-1285-1-1.html#pid6549
作者: likeyou32 时间: 2024-4-13 18:35
回复 7# Batcher
感谢大师的解惑!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |