Last active
April 15, 2019 08:03
-
-
Save alamenai/a56f5d21339702529eba688a94e127e0 to your computer and use it in GitHub Desktop.
Run most of windows commands with java language.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright 2017 M.Ala Eddine. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package run; | |
import java.io.BufferedReader; | |
import java.io.IOException; | |
import java.io.InputStreamReader; | |
import java.util.logging.Level; | |
import java.util.logging.Logger; | |
import netsh.Filter; | |
import netsh.Profile; | |
import network.Mode; | |
/** | |
* | |
* @author Electron | |
*/ | |
public class Command { | |
private static ProcessBuilder processBuilder; | |
private static String commandLine; | |
/** | |
* | |
* @param ssid | |
* @param key | |
* @return | |
* @throws IOException | |
*/ | |
public static boolean executeCommand(String ssid, String key) throws IOException { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan set hostednetwork ssid=" + ssid + "key=" + key); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
return !isNull(commandLine); | |
} | |
/** | |
* | |
* @param ssid | |
* @param key | |
* @param mode | |
* @return | |
* @throws IOException | |
*/ | |
public static boolean executeCommand(String ssid, String key, String mode) throws IOException { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan set hostednetwork ssid=" + ssid + "key=" + key + "mode=" + mode); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
return !isNull(commandLine); | |
} | |
/** | |
* | |
* @param ssid | |
* @param key | |
* @param mode | |
* @param keyUsage | |
* @return | |
* @throws IOException | |
*/ | |
public static boolean executeCommand(String ssid, String key, String mode, String keyUsage) throws IOException { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan set hostednetwork ssid=" + ssid + "key=" + key + "mode" + mode + "keyusage=" + keyUsage); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
return !isNull(commandLine); | |
} | |
/** | |
* | |
* @return @throws IOException | |
*/ | |
public static boolean startHostedNetwork() throws IOException { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan start hostednetwork"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
return !isNull(commandLine); | |
} | |
/** | |
* | |
* @return @throws IOException | |
*/ | |
public static boolean stopHostedNetwork() throws IOException { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan stop hostednetwork"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
return !isNull(commandLine); | |
} | |
/** | |
* | |
* @return | |
*/ | |
public static boolean executeDumpTrace() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh dump"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
return true; | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return false; | |
} | |
} | |
/** | |
* | |
*/ | |
public static void executeAbort() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh abort"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param dllName | |
*/ | |
public static void executeInstallHelper(String dllName) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh add helper " + dllName); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param dllName | |
*/ | |
public static void executeDeleteHelper(String dllName) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh delete helper " + dllName); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/* | |
* | |
*dump | |
*Creates a script that contains the current configuration. If you save this script to a file, you can use the file to restore configuration settings that have been changed. Used without parameters, dump displays all of the netsh context configurations. | |
*/ | |
/** | |
* | |
* @param fileName | |
*/ | |
public static void executeDump(String fileName) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh dump " + fileName); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param path | |
*/ | |
public static void exec(String path) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh exec " + path); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void offLine() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh offline"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void Interfaces() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show interfaces"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void showFilters() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show filters"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void showProfiles() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show profiles"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void showNetworks() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show networks"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void showDrivers() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show drivers"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
*/ | |
public static void showAll() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show all"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @return | |
*/ | |
public static boolean disconnect() { | |
boolean disconnect = false; | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan disconnect"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
if (!isNull(commandLine)) { | |
disconnect = true; | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
disconnect = false; | |
} | |
return disconnect; | |
} | |
/** | |
* | |
* @param interfaceName | |
* @return | |
*/ | |
public static boolean disconnect(String interfaceName) { | |
boolean disconnect; | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan disconnect" + interfaceName); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
disconnect = true; | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
disconnect = false; | |
} | |
return disconnect; | |
} | |
/** | |
* | |
*/ | |
public static void showInterfaces() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan show interfaces"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param profile | |
*/ | |
public static void connect(Profile profile) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan connect name" + profile.getName()); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param path | |
*/ | |
public static void addProfile(String path) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan add profile filename=" + path); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
if (commandLine != null) { | |
System.out.println(commandLine); | |
} | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param filter | |
*/ | |
public static void addFilter(Filter filter) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan add filter permission=" + filter.getPermission() | |
+ "ssid=" + filter.getSsidName() + "networktype=" + filter.getNetworkType()); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
} | |
} | |
/** | |
* | |
* @param filter | |
* @return | |
*/ | |
public static boolean deleteFilter(Filter filter) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan delete filter permission=" + filter.getPermission() + "" | |
+ "ssid= " + filter.getSsidName() + "networktype=" + filter.getNetworkType()); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
return true; | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return false; | |
} | |
} | |
/** | |
* | |
* @param name | |
* @return | |
*/ | |
public static boolean deleteProfile(String name) { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan delete profile name=" + name); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
while (bufferedReader.readLine() != null) { | |
commandLine = bufferedReader.readLine(); | |
System.out.println(commandLine); | |
} | |
return true; | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return false; | |
} | |
} | |
/** | |
* | |
* @param folderpath | |
* @param profile | |
*/ | |
public static void exportProfile(String folderpath, Profile profile) { | |
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. | |
} | |
private boolean isSucces = false; | |
/** | |
* | |
* @return | |
*/ | |
public boolean getIsSucces() { | |
return isSucces; | |
} | |
/** | |
* | |
* @param isSucces | |
*/ | |
public void setIsSucces(boolean isSucces) { | |
this.isSucces = isSucces; | |
} | |
/** | |
* Prints a trace of commande and then terminate the line. This method | |
* behaves as though it invokes | |
* <code>{@link # System.out.println(String)}</code> | |
* | |
* @return | |
*/ | |
public static String runAllowMode() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan set hostednetwork mode=" + Mode.ALLOW_MODE); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
if (isNull(commandLine)) { | |
return commandLine; | |
} else { | |
return null; | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return null; | |
} | |
} | |
/** | |
* | |
* @return | |
*/ | |
public static String stopAllowMode() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh wlan set hostednetwork mode=" + Mode.DIS_ALLOW_MODE); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
if (isNull(commandLine)) { | |
return commandLine; | |
} else { | |
return null; | |
} | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return null; | |
} | |
} | |
private static boolean isNull(String commandLine) { | |
return commandLine == null; | |
} | |
/** | |
* | |
* @return | |
*/ | |
public static boolean executeDump() { | |
try { | |
processBuilder = new ProcessBuilder( | |
"cmd.exe", "/c", "netsh dump"); | |
processBuilder.redirectErrorStream(true); | |
Process process = processBuilder.start(); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
commandLine = bufferedReader.readLine(); | |
return isNull(commandLine); | |
} catch (IOException exception) { | |
Logger.getLogger(Command.class.getName()).log(Level.SEVERE, null, exception); | |
return false; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Don't miss post a comment if you have a problems with this gist.