>test.txt set /p="Hello" <nul
>>test.txt set /p=" world!" <nul

正文

平时,CMD中输出一个字符串到文本文件,可使用echo,配合输出重定向实现:

echo "line1" > test.txt
echo "line2" >> test.txt

如果要输出的文本很短,这样就可以了。
但是,CMD命令行的字符串长度最长为2047或8191个字符[1],如果我们要输出的文件超出这个限制要怎么办呢?
我的思路是,拆分成多个字符串去输出:

echo "Hello" > test.txt
echo " world!" >> test.txt

这样有一个问题,echo会自动添加一个换行符和回车符,这并不是我想要的。
我希望的结果是这样:

我的解决方案:

>test.txt set /p="Hello" <nul
>>test.txt set /p=" world!" <nul

原理:

开头的>和>>是把输出文件重定向和追加到test.txt。
最后的<null是把输入重定向为nul,也就是不输入。
重头戏是中间的 SET /P variable=[promptString] 命令,可以从标准输入输入一个值,保存得到变量variable。
可选的[promptString]是一个输出到标准输出的提示字符串(原本是输出到命令行窗口,但被我们重定位到了test.txt文件)。
也就是说,我们并没有使用它设置变量的能力,而是使用了它的提示字符串。

参考文献

[1] 命令提示符(cmd.exe)的命令行字符串限制

Windows CMD 输出文本到文件,不加换行符的更多相关文章

  1. 将html中的br换行符转换为文本输入中的换行符(转)

    PHP中的有个非常好的函数:nl2br(),将文本框中的换行转换为HTML页面的<br />,但是如何实现将html中的<br />换行符转换为文本框中的换行符呢?下面这几个方 ...

  2. php函数nl2br的反函数br2nl 将html中的br换行符转换为文本输入中的换行符

    下面这几个方法将能够帮你解决这个问题. PHP版将html中的<br />换行符转换为文本框中的换行符: 代码如下: function br2nl($text){ return preg_ ...

  3. C语言中以文本方式读写文件时换行符转换的注意事项

    我们知道在UNIX下是没有回车符(\r)的,只有换行符(\n),而C语言诞生于UNIX(Linux即面向开源的UNIX,Mac OS也是UNIX发展而来的,而Windows是从MS-DOS发展而来,与 ...

  4. Linux文件和windows文件在 换行符的区别

    Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结 ...

  5. 修改windows文件的换行符

    应用场景: 在办公中,有可能存在,某些命令脚本使用windows下的文本编辑器进行编写 当放到测试环境的Linux中时,运行报错 需要使用的软件:xxd hexdump  dos2unix 1.运行w ...

  6. windows cmd 新建和删除文件

    1.新建文件夹 # 新建App文件夹 md app # 或者使用 mkdir mkdir app 2.新建文件 # 进入App文件夹cd app # 新建 index.js 文件 type nul&g ...

  7. ****使用ftp软件上传下载php文件时换行符丢失bug

    在使用ftp软件上传下载php源文件时,我们偶尔会发现在本地windows下notepad++编辑器写好的php文件,在使用ftp上传到linux服务器后,php文件的换行符全部丢失了,导致php文件 ...

  8. python tips:文件读取——换行符的问题

    问题:在windows系统中,换行的符号是'\r\n'.python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行.但是在windows文件中,可能在同一行中同时存在'\ ...

  9. python处理文件的换行符

    我们知道在Windows平台下的换行符是\r\n,而在linux下的换行符是\n.现在写一个简单程序来测试python是如何处理这些换行符的. 准备文件data.txt,该文件在Windows平台下编 ...

随机推荐

  1. TCP客户端服务器编程模型

    1.客户端调用序列 客户端编程序列如下: 调用socket函数创建套接字 调用connect连接服务器端 调用I/O函数(read/write)与服务器端通讯 调用close关闭套接字 2.服务器端调 ...

  2. MYGUI3.2改造——与HGE结合,实现资源打包

    其实这个有点标题党的意思.MYGUI本身有资源打包的接口,可以实现从内存读取文件. 而HGE也提供了资源打包的功能(不过HGE的资源文件管理比较弱).把MYGUI的接口接到HGE上就可以实现MYGUI ...

  3. Http请求特殊符号变空格

    Http请求特殊符号变空格 今天在调试客户端向服务器传递参数时,url中的参数值出现+,空格,/,?,%,#,&等特殊符号的时候就自动变成空格,在服务器端无法获得正确的参数值.解决方法如下: ...

  4. CentOS7安装docker以及错误解决

    今天在公司电脑上安装docker出现了一些问题,原先是直接用yum安装docker,一次就成功了,由于公司的网络问题导致docker安装完出现了一些问题,客户端启动了,服务端一直启动不了:Job fo ...

  5. centos7安装OTRS6

    1.在文件/etc/selinux/config中配置SELINUX=disabled 重启系统.重启后确认命令getenforce返回为Disabled 2.配置数据库 我们这里使用MariaDB ...

  6. 关于Influxdb1.4.2在windows下的安装过程的一些问题的记录

    一.安装与配置: 1. Influxdb在1.3以后版本已经关闭了内置 的8086的web管理功能,需要单独的工具来管理 2.其配置文件默认路径是linux格式,需要修改为本机windows格式 我的 ...

  7. Arduino系列之LCD1602模块使用方法(一)

    下面我将简单介绍LCD1602模块的使用方法: 1602液晶显示器(1602 Liquid Crystal Display,此后简称1602 LCD)是一种常见的字符液晶显示器,因其能显示16*2个字 ...

  8. OpenStack之虚拟机热迁移

    这里的环境是centos7版本,openstack K版 1.在各个计算节点设置权限 chmod /var/lib/nova/instances 2.修改各个节点的nova.conf(/etc/nov ...

  9. python学习记录(三)

    0827--https://www.cnblogs.com/fnng/archive/2013/02/24/2924283.html 通用序列操作 索引 序列中的所有元素都是有编号的--从0开始递增. ...

  10. YUM源部署和使用

    1.前言 为什么需要内部yum源呢,有可能是业务内部的服务器对外是不通了,居于一些安全方面的考虑.内部yum源又有什么好处呢,第一,速度快:第二,内网可控,外网有问题也不影响内网包的下载和安装等. 2 ...