【问题标题】:cmd doesn't output results to a file [duplicate]cmd不会将结果输出到文件[重复]
【发布时间】:2020-06-02 23:14:50
【问题描述】:

我正在尝试使用 cmd 行,最终将其放入 .bat 中以运行程序,获取返回值并将其放入 .txt 文件中。在这个脚本中,它运行程序,创建 .txt 文件,但是 .txt 文件是空白的,而程序在一行中输出了一堆文本:

这是命令:

jsonlint test.json -c -q > test1.txt

test1.txt 被创建,但是是空白的。程序返回这个值:

test.json:第 3 行,col13,找到:'NUMBER' - 预期:'EOF'、'}'、':'、','、']'。**

为什么这个返回值不会被保存到 test1.txt 文件中?任何想法或想法都非常感谢。谢谢。

【问题讨论】:

  • 这不是结果,而是错误。因此,它可能在标准错误上,而不是标准输出上。

标签: batch-file cmd jsonlint


【解决方案1】:

正如 Charles 所提到的,您的输出实际上是一个错误,表明您的 JSON 文件 test.json 在第 3 行第 13 行的语法不正确。

如果您想要输出任何内容,无论它是 STDOUT 还是 STDERR,然后在命令末尾添加 2>&1 以将您的 STDERR 重定向到 STDOUT,所以它会看起来像这样:

jsonlint test.json -c -q > test1.txt 2>&1

更多关于重定向错误消息here

【讨论】:

  • 我对此投了反对票,因为如果其他人的 cmets 这只是一种反刍。除此之外,cmets清楚地表明这个问题已经在这个网站上回答过,所以是重复的,不需要再回答了。
  • 谢谢!我不知道它不会只是把所有东西都放在网上。好资料。抱歉,它是重复的,但我搜索了这个网站并没有找到任何帮助,所以显然它没有提出我输入的查询。也许我的措辞将来可能对其他人有所帮助。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 2020-02-24
  • 2019-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-12
相关资源
最近更新 更多