我正在创建批处理文件,但我遇到以下命令时出现问题:
echo Hello & echo.World > Text.txt
每当我执行此命令时,输出仅显示最后一行,如下所示:
世界
但是如果我只是在CMD中执行上述命令而不写入文件,它在命令提示符中就会完美显示。我可以完全访问我的文件,但我似乎仍然无法编写整个文本。
答案 0 :(得分:6)
批处理中,override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
let translatedPoint = button.convertPoint(point, fromView: self)
if (CGRectContainsPoint(button.bounds, translatedPoint)) {
print("Your button was pressed")
return button.hitTest(translatedPoint, withEvent: event)
}
return super.hitTest(point, withEvent: event)
}
运算符的优先级高于>
运算符,因此您的示例仅将最后一个命令&
重定向到该文件。第一个命令仍然输出到控制台。
要重定向多个命令,可以用括号括起来。
echo.World
答案 1 :(得分:3)
批处理& 是一个命令分隔符。您可以使用两个单独的echo
行生成相同的结果。
作为两个独立的命令执行,
回声你好 echo.World> TEXT.TXT
会向控制台报告Hello
并将World
写入文件(您没有提到控制台上出现Hello
...)
请注意,> 会创建新文件,而>> 会将附加到任何现有文件(或创建一个新文件)所以
echo Hello > Text.txt
echo.World > Text.txt
首先将Hello
写入新文件,然后使用World
覆盖它。
要追加第二行,您需要
echo Hello > Text.txt
echo.World >> Text.txt
或在一行中
echo Hello > Text.txt&echo.World >> Text.txt
带括号的语句序列(又名"块")被视为一个复杂的语句,所以
(echo Hello &echo.World)> Text.txt
会创建一个包含两行的新文件,而
(echo Hello &echo.World)>> Text.txt
会将两行附加到任何现有文件。
另请注意,> 之前的尾随空格也会写入文件。
要非常小心> 和>> 。如果你执行的命令是
echo Hello 1> Text.txt
然后将hello Space 写入文件。
如果以 Space 以单个数字结尾的消息被写入文件,那么很可能什么都不会出现。当我们遇到这种情况时,紧接在> 之前的数字确定了例如'逻辑设备output will be used. The useful ones here are 1 (standard output) and 2(standard error) so you can redirect errormessages using
2> errorreports.txt`。
如果您遇到这种情况,可以使用
克服此特性> Text.txt echo Hello 1