【问题标题】:Echo two or more unique Variables to a text file [duplicate]将两个或多个唯一变量回显到文本文件[重复]
【发布时间】:2020-09-29 09:12:09
【问题描述】:

文件如下所示:

@echo off

set /a varOne=1
set /a varTwo=2

echo %varOne% %varTwo%>>test.txt

start test.txt

varOne 和 varTwo 可以是任意数字。

我的问题是它没有像我期望的那样将“1 2”写入 test.txt。 当我删除 varTwo 时,它看起来像这样:

@echo off

set /a varOne=1

echo %varOne%>>test.txt

start test.txt

这确实符合我的预期。它将“1”写入 test.txt

为了允许将两个数字写入文件,我可以删除两个变量之间的空格。但是对于我的情况,我需要在变量之间留一个空格。

如何将两个中间有空格的变量写入文本文件?

谢谢。

【问题讨论】:

    标签: batch-file variables cmd echo io-redirection


    【解决方案1】:

    正在读取您的脚本“1 2>>test.txt”,因此您的输出被重定向到流“2”。在批处理中,输入/输出流的范围为 0-9,因此当您在“>”或“>>”之前使用任何这些单个数字时,它们将被解释为输入/输出流。

    ==============
    ~ 解决方法~
    ======= =======

    @echo off
    
    set varOne=1
    set varTwo=2
    
    echo ^%varOne% ^%varTwo%>>test.txt
    
    @echo off
    
    set varOne=1
    set varTwo=2
    
    (echo %varOne% %varTwo%)>>test.txt
    
    

    您只需要那些“个位数”值的变通方法。如果您使用两位或更多数字,则不需要解决方法...

    @echo off
    
    set varOne=123
    set varTwo=456
    
    echo %varOne% %varTwo%>>test.txt
    
    

    【讨论】:

    • 最安全的语法是将重定向放置在行首,如下所示:>>"test.txt" Echo(%varone% %vartwo%
    猜你喜欢
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多