[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理创建任务计划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呢 ?

回复 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
复制代码
测试代码之前请做好备份

TOP

回复 2# ShowCode
    您这是绕道,,我疑惑的是echo y 为什么没传递过去 ? 难道是因为后边schtasks /create命令过长,才没传递过去 ? 后边的整个命令我加括号了啊 ...

TOP

回复 2# ShowCode
  刚又试了一下 echo y|(schtasks /delete /tn "进入睡眠")  也是不行,,也许schtasks不支持这种方式传递y

TOP

回复 4# likeyou32


   应该就是schtasks没有正常接收到Y参数的响应,直接/F强制添加任务即可。

TOP

回复 4# likeyou32

普通终端用户没有权限修改变动已有的计划任务,楼主可用系统管理员身份打开cmd窗口,重试
   SCHTASKS /F /Delete /TN ...
   SCHTASKS /F /Create /TN ...
应可见效,无须 echo,y|... 管道喂送

TOP

回复 3# likeyou32


不是每个命令都接受来自管道的数据,例如:runas
http://bbs.bathome.net/thread-1285-1-1.html#pid6549
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher

感谢大师的解惑!

TOP

返回列表