【发布时间】:2013-08-27 18:25:25
【问题描述】:
在我记得如何完成我正在做的事情之前,我尝试了一些不同的事情,有点只是在尝试。
我试图完成的是将以下字符串设置为变量,然后在批处理脚本中将其回显:
<?php require('__php__.php'); ?>
我最终在 SO 的帮助下解决了这个问题,但在我到达那里之前,我尝试了这个(出于一些原因):
set (phpStr=<? php require('__php__.php'); ?>)
我意识到这没有任何意义。但是,cmd shell 如何解释我想要做的事情如下:
set (phpStr= php require('__php__.php'); ? 0<? 1>)
换句话说,当我在上面的第二个代码块中键入代码,并在脚本中打开 echo 时,cmd shell 中显示的是第三个代码块中的命令。然后出现语法错误,脚本退出。
谁能解释发生了什么? (不是为什么它不起作用。这对我来说很明显,而是它是如何得出它所做的解释的。这是对原始命令的非常棒的重组。我只是不知道它是如何到达那里的。)
【问题讨论】:
-
AIUI Stackoverflow 用于回答编程问题 - 如果您想讨论 CMD 以各种方式运行的方式,那么您最好发布到像 dostips.com/forum 这样的论坛上,那里有一些非常聪明的人讨论与批处理相关的现象 - 以及帮助人们完成更平凡的任务。它在论坛标题中提到了 XP,但讨论了所有版本的 Windows。
标签: variables batch-file cmd escaping output