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

[其他] 批处理创建任务计划echo y|通过管道符传递不了y

[复制链接]
发表于 2024-4-11 10:00:49 | 显示全部楼层 |阅读模式
  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呢 ?
发表于 2024-4-11 10:45:33 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2024-4-11 10:54:11 | 显示全部楼层
回复 2# ShowCode
    您这是绕道,,我疑惑的是echo y 为什么没传递过去 ? 难道是因为后边schtasks /create命令过长,才没传递过去 ? 后边的整个命令我加括号了啊 ...
 楼主| 发表于 2024-4-11 11:03:25 | 显示全部楼层
回复 2# ShowCode
  刚又试了一下 echo y|(schtasks /delete /tn "进入睡眠")  也是不行,,也许schtasks不支持这种方式传递y
发表于 2024-4-11 12:22:37 | 显示全部楼层
回复 4# likeyou32


   应该就是schtasks没有正常接收到Y参数的响应,直接/F强制添加任务即可。
发表于 2024-4-11 12:58:55 | 显示全部楼层
回复 4# likeyou32

普通终端用户没有权限修改变动已有的计划任务,楼主可用系统管理员身份打开cmd窗口,重试
   SCHTASKS /F /Delete /TN ...
   SCHTASKS /F /Create /TN ...
应可见效,无须 echo,y|... 管道喂送
发表于 2024-4-11 14:25:06 | 显示全部楼层
回复 3# likeyou32


不是每个命令都接受来自管道的数据,例如:runas
http://bbs.bathome.net/thread-1285-1-1.html#pid6549
 楼主| 发表于 2024-4-13 18:35:51 | 显示全部楼层
回复 7# Batcher

感谢大师的解惑!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 01:17 , Processed in 0.019965 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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