在XP上的batfile中对管道的奇怪限制

use*_*374 11 windows-xp dos batch-file

我在XP Pro SP3系统上创建的BAT文件每次都能完美运行.
安装在另一个XP [也是Pro SP3]系统上,每次都会失败("挂机").

问题结果是在多步管道中.为了隔离它,我一直在简化,直到我到达这个最小的[和人工]测试用例

    echo. | date | find "/" | find "/" | find "/"
Run Code Online (Sandbox Code Playgroud)

注意:前两个步骤没有缩短,date /t因为一些用户的系统是XP之前的[因此缺少Command Extensions].另外:仔细测试显示date正在执行MS-DOS内部DATE命令并find执行在"C:\ WINDOWS\system32 \"中找到的香草"FIND.EXE,2004年8月4日,9216"[和"中的安全副本相同" C:\ I386 \".

在失败的系统上,每个具有4个或更多个| s的命令在第五步中挂起,即使在这里 - 这里 - 程序很简单,它们处理的文本量也很小.

昨天我在用户的系统上做了一些进一步的测试,发现了一个我不知道的微妙之处.我在命令提示符下输入了简化命令[上面].按预期失败["挂起"].但是,当我重新启动并在做任何事情之前再次尝试[在用户的正常操作中永远不会发生的情况]时,我感到震惊:它工作[即,MS-DOS DATE命令的输出按预期显示].它再次起作用.然后在第三次尝试时,故障模式重新出现,之后保持一致.
我确认这files=40对两个系统都有效,并放弃了.我仍然很好奇,但我不能花很多时间在一个小型项目上为一个无偿客户端分析我可以轻松解决的问题.

感谢大家,感谢您快速有效的回复.

在原始系统上,无论调用哪些程序以及它们正在处理多少文本[原因],具有4个或更多个| s的命令都能正常工作.

一旦确定了限制,就会有许多琐碎的解决方法,所以我的问题只是好奇心:有人可以提出限制的来源以及是否有[在XP中]会提高/消除它的设置?

注意:两个系统上都不存在HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun和HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun.

另外:我为通过反复编辑我的原始帖子来回答评论而道歉,但无论我使用哪个浏览器登录,"添加评论"弹出窗口[或其应该是什么]都不会出现.也许我的理解是在我自己的帖子中添加评论不需要声望点是错误的.但是,现在我看到"show#more comments"也没有用.

最后:我使用这个网站的问题[主要症状是javascript控制台消息"Uncaught ReferenceError:StackExchange未定义"]与此处讨论的相同https://meta.stackexchange.com/questions/117730/stack-overflow-onclick-actions-broken- about一年前.

小智 1

使用 ^ 以避免特殊字符
示例回显。^| 日期^| 找到“/”^| 找到“/”^| 寻找 ”/”

http://www.robvanderwoude.com/escapechars.php