我想从文本文件中运行一些diskpart命令并将其输出保存到另一个文本文件。这是我的批处理文件中写的,我想这样做。
DISKPART /S E:\CMD.TXT > E:\OUT.TXT
PAUSE
当我运行它时(即使是管理员)它也不能很好地工作,这是用CMD的黑屏写的:
DISKPART /S E:\CMD.TXT 1>E:\OUT.TXT
PAUSE
额外的1使它无法正常工作。那是什么?亲爱的朋友,我怎么解决呢?
答案 0 :(得分:0)
Windows支持许多"标准设备"
0是标准输入(stdin) - 通常分配给键盘 1是标准输出(标准输出) - 通常分配给控制台
2是标准错误(stderr) - 通常分配给控制台
所以,你可以写一个程序接受来自stdin的输入并将结果写入stdout并将错误写入stderr(并非所有程序都使用stderr)
当您使用重定向器(<
和>
)重定向输入或输出时,您可以根据需要将输入分配给文件,或将输出或错误直接分配给文件。
stdout和stderr的单独重定向是Windows系列的新系列(2K,XP,Vista,7,8,10),>
被认为是stdout gets redirected
。要明确重定向stdout ,您需要使用1>
。要明确重定向stderr ,您需要使用2>
。
Windows插入1
表示stdout
正在被重定向,但不是stderr
。
所以 - 报道的内容并没有什么不妥。
你的命令是什么意思?当E:
是E:
操作的主题时,Windows会反对尝试在diskpart
上创建文件吗?