1

我有程序将文件解压缩到 %temp%\myfolder\

我需要从该位置运行一个文件。我已经尝试过 shell 和 process.start 但最终我正在寻找:

Process.start("%temp%\myfolder\start.cmd")

我还在 getenvironmentvariable 上查看了 msdn,但没有任何效果。:(

更新:简而言之,这就是我所拥有的

Imports system.diagnostics
Imports system.IO

System.Environment.GetEnvironmentVariable("TEMP")
Dim temp As String = System.IO.Path.GetTempPath

Things I have tried
process.start("%temp%\myfolder\start.cmd")
process.start("temp" & "myfolder\start.cmd")

我收到一个错误代码,说“找不到文件”。但是,如果我将 %temp%\myfolder\start.cmd 复制到 run 或 cmd.exe 中,程序就会运行。

4

1 回答 1

2

首先设置

Environment.CurrentDirectory = Environment.GetEnvironmentVariable("temp")
' Possible variables include temp, tmp, and windir for examples.

此命令会将当前目录放置为 C:\Users\ (currentuser)\appdata\local\temp 或为变量设置的任何位置。然后运行进程启动。它应该如下所示:

Environment.CurrentDirectory = Environment.GetEnvironmentVariable("temp")
Process.start("myfolder\start.cmd")
于 2012-11-18T01:10:05.543 回答