以管理员身份打开cmd并指向当前文件夹以运行批处理文件

时间:2019-06-17 17:26:02

标签: c++ batch-file

我的问题确实很容易,我有3个批处理文件,用于在使用捆绑的Java运行时环境时使用不同的命令运行.jar。但是,对于普通用户,他们实际上必须以管理员身份打开cmd,然后运行那些批处理文件。我想在C ++中创建一个.exe,它能够以管理员身份打开cmd并运行那些批处理文件。

但是,我的问题是我不知道如何以管理员身份打开cmd,然后使其指向exe所在的目录。我知道我可以将其指向固定文件夹,但是我不想要那样。该程序必须能够从任何位置运行,因此用户只需要解压缩该文件夹并运行可执行文件,即使其在桌面也是如此。

我尝试了下面的代码。

  #include <iostream>
  #include <cstdlib>
  using namespace std;
  int main()
  {
  int i;
  cout << "Select Operation: 1 - use first batch"<< endl;
  cin >> i;
  if(i == 3){
  system("runas /user:<admin-user> \"firstbatch.bat\"");}
  }

结果是它将在运行可执行文件的同一文件夹中打开所需的.bat。但它根本不起作用,它会等待用户输入

0 个答案:

没有答案