【发布时间】:2017-12-27 22:54:43
【问题描述】:
本质上,我想从 file.txt 中读取内容
苹果 香蕉 胡萝卜并写入 newfile.txt 以使其具有内容
苹果 香蕉 胡萝卜我需要在我没有安装权限的 Windows 计算机上执行此操作。
我试过了
set row=
for /f %%x in (file.txt) do set row=%row% %%x
echo row > newfile.txt
我尝试使用 PowerShell 语句(我无法运行 PowerShell 脚本)而不是 CMD 样式的 for 循环。
powershell -Command "(Gc file.txt) | Foreach-Object -Process {set row=%row% _$} | Out-File newFile.txt"
但两者都产生一个空文件。 有没有办法做到这一点?
【问题讨论】:
-
好吧,第一个不起作用,因为您将 row 设置为空值,从不将
%%x分配给row(这会使 row 为空),然后将空行写入文件。你认为for %%x in是什么意思? -
findstr /v "^$" File1.txt > File2.txt -
我以为是文件中的每一行。
-
@ACatInLove 这只会从输入中删除空白行,据我了解,这不是 OP 想要的。
-
是的,但是你忽略了这条线(根本不使用它)。同样,您认为
for %%x in中的%%x是什么意思?%%x是每一行,所以你必须使用该行的内容。你的尝试没有这样做。
标签: string powershell batch-file file-io cmd