【bat和java神之配合】:java获取管理员权限,然后移动文件到开机自启动文件夹下+设置wamp自启动

22 篇文章 0 订阅


java获取管理员权限,然后移动文件到开机自启动文件夹下

Java是没办法获取到管理员权限的,但是java可以执行.bat文件,.bat文件是可以获取管理员权限的。
因此实现步骤如下:

一、新建wakeUpBate.bat文件,主要是通过本bat进行文件移动操作

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
xcopy "D:\bate\1.lnk"  "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"

  • 其中这个是获取管理员权限
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
  • 这个是移动文件,比如D:\bate\1.lnk下的1.lnk快捷文件到开机自启动文件下
xcopy "D:\bate\1.lnk"  "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"

二、java调用bat

/**
     * 唤醒bat文件
     * @param locationCmd
     */
    private static void  callCmd(String locationCmd){
        StringBuilder sb = new StringBuilder();
        try {
            Process child = Runtime.getRuntime().exec(locationCmd);
            InputStream in = child.getInputStream();
            BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(in));
            String line;
            while((line=bufferedReader.readLine())!=null)
            {
                sb.append(line + "\n");
            }
            in.close();
            try {
                child.waitFor();
            } catch (InterruptedException e) {
                System.out.println(e);
            }
            System.out.println("cmd_success");
        } catch (IOException e) {
            System.out.println(e);
        }
    }

设置wamp自启动

修改bat文件

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
sc config wampapache64 start= auto
sc config wampmysqld64 start= auto



额外补充

bat和java神之配合部分的记录就先到这!接下来,是一些整理的c++要点概要!

数组的形参定义

在这里插入图片描述
答:可以定义为:

  • int(*s)[9] : 二维数组指针, 指针 s(第一维) , 指针 s 指向的数组(第二维);
  • int *s[9] : 指针数组, 一个数组里面存放的元素是指针。

实参和形参

  • 使用地址作为实参传给形参, 形参和实参指向内存中同一块区域, 实参与形参是同一对象;
  • 值传递时, 实参是形参的备份。

extern “C”

extern "C"指令中的 C, 表示的一种编译和连接规约, 而不是一种语言。 C 表示符合 C 语言的编译和连接规约的任何语言, 如 Fortran、 assembler 等。

字符指针和字符数组

  1. 字符数组由若干个元素组成, 每个元素为一个字符, 而字符指针变量中存放的是地址(字符串中第一个字符的地址) , 绝不是将字符串放到字符指针变量中。
  2. 赋值方式。 可以对字符指针变量赋值, 但不能对数组名赋值。
  • 可以采用下面方法对字符指针变量赋值:
char *a;//a 为字符指针变量
a="I love China!";//将字符串首元素地址赋给指针变量合法。 但赋给 a 的不是字符串, 而是字符串第一个元素的地址
  • 不能用以下办法对字符数组名赋值:
char str[14]; str[0]='I'; //对字符数组元素赋值, 合法
str="I love China!"; //数组名是地址, 是常量, 不能被赋值, 非法
  1. 初始化的含义。
  • 对字符指针变量赋初值:
char *a="I love China!"; //定义字符指针变量 a, 并把字符串第一个元素的地址赋给 a

等价于

char *a; //定义字符指针变量 a
a="I love China!"; //把字符串第一个元素的地址赋给 a
  • 而对于数组的初始化:
char str[14]="I love China!"; //定义字符数组 str, 并把字符串赋给数组中各元素

不等价于

char str[14]; //定义数组 str
str[]="I love China!"; //企图把字符串赋给数组中各元素, 错误

数组可以在定义时对各元素赋初值, 但不能用赋值语句对字符数组中全部元素整体赋值。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻虎虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值