gyp2000 发表于 2021-5-13 22:03:05

说明 smartctl.exe 在系统目录下也存在一个副本 而不仅仅是在C:\Program Files\smartmontools\bin 目录下。 还原系统默认的path后 问题自然就解决了,但是并不是解决了你路径名中含空格的问题。
而是执行了系统目录下的程序副本,而不是你所期望的路径下的可执行文件。
一般情况下
可以切换当前目录的办法解决你遇到的问题。
FileChangeDir("C:\Program Files\smartmontools\bin")
Run('smartctl.exe -a /dev/pd1 >> C:\1.txt',"", @SW_HIDE)

chishingchan 发表于 2021-5-14 08:39:24

cmd /c 是运行内部命令用的,关键是这里。

you74222 发表于 2021-5-14 19:27:20

Run(@ComSpec & " /c smartctl.exe -a /dev/pd1 >> c:\1.txt", "", @SW_HIDE)这样写试试
页: 1 [2]
查看完整版本: WIN64系统 Run执行DOS不行,CMD执行又可以 - 已解决