fix:powershell auto select

This commit is contained in:
2024-03-23 17:53:42 +08:00
parent 3c174dcb49
commit 5e67211685
4 changed files with 25 additions and 14 deletions

View File

@ -7,9 +7,13 @@ class SystemHelper {
static String powershellPath = "powershell.exe";
static initPowershellPath() async {
var result = await Process.run(powershellPath, ["echo", "ping"]);
if (!result.stdout.toString().startsWith("ping") &&
powershellPath == "powershell.exe") {
try {
var result = await Process.run(powershellPath, ["echo", "ping"]);
if (!result.stdout.toString().startsWith("ping") &&
powershellPath == "powershell.exe") {
throw "powershell check failed";
}
} catch (e) {
Map<String, String> envVars = Platform.environment;
final systemRoot = envVars["SYSTEMROOT"];
if (systemRoot != null) {
@ -17,7 +21,6 @@ class SystemHelper {
"$systemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe";
dPrint("auto search powershell path === $autoSearchPath");
powershellPath = autoSearchPath;
initPowershellPath();
}
}
}

View File

@ -12,11 +12,11 @@ void dPrint(src) async {
if (kDebugMode) {
print(src);
}
try {
await _logLock.synchronized(() async {
await _logLock.synchronized(() async {
try {
_logFile?.writeAsString("$src\n", mode: FileMode.append);
});
} catch (_) {}
} catch (_) {}
});
}
void setDPrintFile(File file) {