如何在Windows中将文件内容用作命令行参数

9
在Bash shell中,我可以这样写:
some_command $(< some_file)

如何将some_file的内容作为命令行参数传递给some_command,从而在Windows上完成相同的操作,最好使用内置的命令/语法?

编辑:为了澄清,some_file中的任何形式的空格都应被视为参数分隔符,就像在Bash示例中一样。特别是,即使some_file有多行,这也需要起作用。

1个回答

11
set /p ARGS= <some_file
some_command %ARGS%

1
谢谢您的回答!有没有办法让它适用于包含多行的文件? - Matt
我认为Windows命令不允许包含换行符。我们通过接受答案来表示感谢。 - Seva Alekseyev
Windows中的命令行可以包含换行符,但让笨重的CMD shell处理它可能非常困难或不可能,特别是从环境变量中获取。 - Eryk Sun
2
请注意,set /p 仅限于读取 1023 字节(而非字符)。字节字符串使用控制台的输出代码页解码为 UTF-16,该代码页默认为系统 OEM 代码页。可以通过 chcp.com 进行更改,例如 chcp 65001 设置为 UTF-8(每个字符 1-4 个字节)。 - Eryk Sun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接