【问题标题】:How can I use a batch file to write to a text file?如何使用批处理文件写入文本文件?
【发布时间】:2013-11-21 14:08:21
【问题描述】:

我需要制作一个脚本,可以将一行文本写入与批处理文件位于同一目录的文本文件中。

【问题讨论】:

    标签: file batch-file text


    【解决方案1】:

    您可以使用echo,并将输出重定向到文本文件(请参阅下面的注释):

    rem Saved in D:\Temp\WriteText.bat
    @echo off
    echo This is a test> test.txt
    echo 123>> test.txt
    echo 245.67>> test.txt
    

    输出:

    D:\Temp>WriteText D:\Temp>类型 test.txt 这是一个测验 123 245.67 D:\温度>

    注意事项:

    • @echo off 关闭将每个命令打印到控制台
    • 除非你给它一个特定的路径名​​,否则>>> 的重定向将写入当前目录(代码运行所在的目录)。
    • echo This is a test > test.txt 使用一个> 用新内容覆盖任何已存在的文件。
    • 剩余的echo 语句使用两个>> 字符附加到文本文件(添加到),而不是覆盖它。
    • type test.txt 只需将文件输出键入命令窗口。

    【讨论】:

    【解决方案2】:

    只使用一个代码块更容易,然后你只需要一个重定向。

    (
      echo Line1
      echo Line2
      ...
      echo Last Line
    ) > filename.txt
    

    【讨论】:

    • OMG 如此简单,它使它成为半路人,这令人印象深刻,因为脚本就像是对乱码编程世界的介绍
    • 这对我不起作用,但是块前面的重定向变体 ` > filename.txt ( ` 确实有效。
    • @willw 我想,您的代码块中某处还有一个额外的右括号。否则它必须工作,无论您将重定向放在块的前面还是后面
    • @jeb 可能 - 我不再有我的原始测试文件,所以不能确定。当然,我随后不得不将关闭的 ) 字符转义为 ^),这往往会支持您的假设。尽管如此,至少我们的讨论提醒其他人注意一个可能的陷阱。
    【解决方案3】:

    echo "blahblah"> txt.txt 将删除 txt 并将 blahblah 放在它的位置

    echo "blahblah">> txt.txt 会在 txt 的新行上写 blahblah

    如果不存在,我认为两者都会创建一个新的 txt(我知道第一个存在)

    上面写的是“txt.txt”,如果需要,可以插入文件路径。例如C:\Users\<username>\desktop,它将把它放在他们的桌面上。

    【讨论】:

    • 是的,两者都是如此。可悲的是,您的答案没有为现有答案添加其他信息。(提到 '%~dp0 会...)
    • 写入同一文件夹中的txt?
    • 写入文件夹,where the batchfile resides(独立于任何cdpushd 命令)
    【解决方案4】:
        @echo off
    
        (echo this is in the first line) > xy.txt
        (echo this is in the second line) >> xy.txt
    
        exit
    

    两个>>表示将第二行追加到文件中(即第二行将在xy.txt的最后一行之后开始)。

    这是xy.txt 的样子:

    this is in the first line
    this is in the second line
    

    【讨论】:

      【解决方案5】:

      @echo 关闭 使用批处理文件编写标题 颜色0a

      echo 示例文本 > Filename.txt echo 附加文本 >> 文件名.txt

      @ECHO OFF
      Title Writing Using Batch Files
      color 0a
      
      echo Example Text > Filename.txt
      echo Additional Text >> Filename.txt
      

      【讨论】:

        【解决方案6】:
        • 可以使用copy con写长文
        • 例子:

          C:\COPY CON [驱动器:][路径][文件名]

          ....内容

          F6

          已复制 1 个文件

        【讨论】:

        • 在批处理文件中,copy con 提示用户。
        【解决方案7】:
        @echo off
        
        echo Type your text here.
        
        :top
        
        set /p boompanes=
        
        pause
        
        echo %boompanes%> practice.txt
        

        希望这会有所帮助。您应该更改字符串名称(IDK 名称)和文件名

        【讨论】:

          猜你喜欢
          • 2015-07-12
          • 2011-03-09
          • 1970-01-01
          • 1970-01-01
          • 2012-12-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-05
          相关资源
          最近更新 更多