我需要帮助我的应用程序,我创建了一个应用程序,当他们点击更新按钮时将执行一些PsExec文件来远程运行一些功能。问题出现在我的机器本地很好,但我的应用程序将分享给很多用户。而且我不想将PsExec文件安装到所有用户的计算机上,我只是想将我的程序安装到他们的计算机上,只是运行程序而没有任何问题。
我的代码适用于我需要添加的那段代码,这些代码将使程序在不知道整个Path的情况下调用PsExec,现在我将PsExec文件安装到我的Debug文件夹,这是一个文件夹。在我的项目中。
因此,我不想使用我目录中的整个PsExec路径,而是想使用我的项目之一
我不想使用此
public class ScoreText : MonoBehaviour {
int sc =0 ;
void Update () {
sc = Score.score;
}
}
我想在项目的调试文件夹中使用这样的东西,但它不起作用。还有另一个这样做吗?
string leMars21StArguments = @"/C C:\PowerShellRemotly\PsExec.exe " +
@"-i \\VML-2012-QBOOK2 -u mydomain\" + userInfo.Username + " -p " +
userInfo.Password + " -d C:\\batch\\myfile.bat";
这里是完整的代码:
string leMars21StArguments = @"/C Debug\PsExec.exe " +
@"-i \\VML-2012-QBOOK2 -u mydomain\" + userInfo.Username + " -p " +
userInfo.Password + " -d C:\\batch\\myfile.bat";
答案 0 :(得分:0)
如果您将其添加到您的程序中,那么您只需引用相对于放置它的.exe的位置。
例如,如果向项目添加名为“Tools”的新文件夹,然后在其中添加psexec.exe,并将其设置为“Copy if newer”(或“始终复制”):
然后,您可以通过抓取.exe所在的目录并导航到“工具”文件夹来获取它的路径(请注意,您需要引用System.Reflection
才能使用{{1} }):
Assembly.GetExecutingAssembly
举个例子:
var thisExeDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var psExecPath = Path.Combine(thisExeDirectory, "Tools", "psexec.exe");
<强>输出强>