簡體   English   中英

如何從批處理腳本將“2”(無引號)回顯到文件?

[英]How to echo "2" (no quotes) to a file, from a batch script?

如何從批處理腳本將數字2回顯到文件中?

這不起作用:

Echo 2>> file.txt

因為2>>是一個特殊命令。 :(

鮮為人知的特性:重定向操作符可以到線路上的任何地方。

>>file.txt echo 2

使用(ECHO 2)>>file.txt 這將輸出2沒有任何空格。

echo ^2>>file.txt似乎對我echo ^2>>file.txt

使用^轉義:

Echo ^2>> file.txt
echo.2>>text.txt

是的,這很奇怪。

另一種方法

echo>>file.txt 2

或者你可以使用延遲擴展

setlocal EnableDelayedExpansion
set "var=2"
echo(!var!>> file.txt

如果您需要准確的寫入,請使用此命令

(ECHO |set /p=2)>>file.txt

DMan 的命令將在“2”后面產生一個 0x0D0A 換行符

要在沒有尾隨換行符的情況下將數字寫入文件,您可以使用以下命令:

cmd /C set /A "2">file.txt

這是有效的,因為set /A在命令提示符上下文中執行時返回(最后一個)結果(沒有換行符)(因此當直接在cmd.exe運行時)。

如果您無論如何都在命令提示符下工作,則可以簡單地使用以下命令:

set /A "2">file.txt

雖然您不能在批處理文件中使用它,但您需要額外的cmd /C來強制正確的執行上下文。

不用說,這當然只能輸出數字,或者准確地說,有符號的 32 位整數。

基於這個答案,如果有人想知道如何做到這一點:

echo "command1 && command2" > file.txt

file.txt沒有 qoutes 然后你這樣做:

echo command1 ^&^& command2 > file.txt

在 Windows Server 2003 上測試。

逃避角色'2'

在 linux 中: echo \\2>file.txt

在 Windows 中: echo ^2>file.txt

在 Windows 中,這也可以工作

echo.2>file.txt echo 和點之間沒有空格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM