c – 从CreateProcess()执行时,diskpart不能正确处理脚本

c – 从CreateProcess()执行时,diskpart不能正确处理脚本,第1张

概述diskpart“myScript.txt”: select disk 1convert dynamic noerrselect disk 2convert dynamic noerrcreate volume stripe disk=1,2 noerrassign letter=X noerr . . 从命令提示符运行时:diskpart / s myScript.txt它按预期工作. diskpart“myScript.txt”:
select disk 1convert dynamic noerrselect disk 2convert dynamic noerrcreate volume stripe disk=1,2 noerrassign letter=X noerr

.
.

从命令提示符运行时:diskpart / s myScript.txt它按预期工作.

但是,当使用win API的CreateProcess()运行时,转换命令都可以工作,但是当它到达时
创建卷,它显示:

"The arguments you specifIEd for this command are not valID"

.
.

现在,为了让事情更有趣:
如果第二次从CreateProcess()再次执行脚本(给定磁盘现在已转换并且它为转换comamnds提供了正确的错误),
当它到达创建卷时,它确实有效.

这让我觉得它与磁盘和/或可执行文件有关吗?

正确方向上的任何一点都值得赞赏,因为这非常令人困惑.谢谢.

STARTUPINFO si;PROCESS_informatION pi;ZeroMemory(&si,sizeof(si));ZeroMemory(&pi,sizeof(pi));si.cb = sizeof(si);strncpy( command,"diskpart.exe /s myScript.txt",(sizeof(command) - 1) );               CreateProcess( "c:\windows\system32\diskpart.exe",command,NulL,TRUE,&si,&pi ) );

结束原始问题_________________________________________________________

编辑:
更新和更多信息:

>在创建卷命令之前添加了大约15 – 20秒的延迟,仍然得到相同的错误消息.
>此外,将工作分成两个脚本,两个调用
的CreateProcess().在第二个脚本上,只需调用“创建卷”
并分配,它挂了一会儿,然后回来了“这个
命令无法在此时完成“..或者其他东西
影响.
>另一件需要注意的事情:在第一个脚本上,将它们放入
动态,它运行速度比运行速度快两倍
命令提示符.

也许应该只运行整个事情两次(第二次运行时出错),因为它确实有效

EDIT2
这两个脚本现在正在工作,或者在我再次尝试时工作.不知道为什么它第一次不起作用.

@H_419_48@解决方法 因为您的脚本第二次工作似乎最可能的原因是与时序相关 – 在执行create volume命令时卷尚未就绪.

基于这个假设:

您可以在create volume命令之前添加detail disk命令以查找磁盘的状态.这将告诉你一些关于磁盘当前状态的信息.如果磁盘2没有显示任何有趣的内容,也要选择第一个磁盘以显示其详细信息.您从中获得的信息可能会有所帮助.

至于实际解决问题,通过使磁盘联机和脱机引入延迟可能会有所帮助.例如:

select disk 1convert dynamicselect disk 2convert dynamicselect disk 1offline diskselect disk 2offline diskselect disk 1online diskselect disk 2online diskcreate volume stripe disk=1,2assign letter=X
总结

以上是内存溢出为你收集整理的c – 从CreateProcess()执行时,diskpart不能正确处理脚本全部内容,希望文章能够帮你解决c – 从CreateProcess()执行时,diskpart不能正确处理脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1243825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存