如何使用文件内容作为命令行参数 Windows

Mat*_*att 5 windows file command-line-arguments

在 Bash shell 中,我可以写

some_command $(< some_file)
Run Code Online (Sandbox Code Playgroud)

将 some_file 的内容作为命令行参数传递给 some_command。我怎样才能最好地在 Windows 上完成同样的事情,最好使用内置命令/语法?

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

Sev*_*yev 7

set /p ARGS= <some_file
some_command %ARGS%
Run Code Online (Sandbox Code Playgroud)

  • 请注意,`set /p` 仅限于读取 1023 个字节(不是字符)。使用控制台的输出代码页(默认为系统 OEM 代码页)将字节字符串解码为 UTF-16。这可以通过 chcp.com 更改,例如 `chcp 65001` 设置 UTF-8(每个字符 1-4 个字节)。 (2认同)