Board logo

标题: [其他] 批处理创建任务计划echo y|通过管道符传递不了y [打印本页]

作者: likeyou32    时间: 2024-4-11 10:00     标题: 批处理创建任务计划echo y|通过管道符传递不了y

  1. @echo off
  2. ECHO Y|(schtasks /create /tn "进入睡眠" /tr "D:\Personal\Desktop\睡眠或休眠.bat" /sc once /sd "2024/04/11" /st 11:20 /RL HIGHEST)
  3. pause
复制代码
当任务名 “进入睡眠” 已经存在时,会提示 “要替换它吗(Y/N)?” ,于是我想到用echo y解决,结果提示:错误: 无效输入。有效值是 (Y|N)。
   奇怪了 ,为什么通过管道符传递不了y呢 ?
作者: ShowCode    时间: 2024-4-11 10:45

回复 1# likeyou32
  1. @echo off
  2. REM 黑暗森林法则,不管有没有,先打一梭子
  3. schtasks /delete /tn "进入睡眠" /f >nul 2>nul
  4. 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