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

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


你可能感兴趣的:(工具,java,开发语言,microsoft)