Skip to content

Instantly share code, notes, and snippets.

@alamenai
Last active April 15, 2019 08:03
Show Gist options
  • Save alamenai/a56f5d21339702529eba688a94e127e0 to your computer and use it in GitHub Desktop.
Save alamenai/a56f5d21339702529eba688a94e127e0 to your computer and use it in GitHub Desktop.
Run most of windows commands with java language.
/*
* 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;
}
}
}
@alamenai
Copy link
Author

Don't miss post a comment if you have a problems with this gist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment