openclaw/src/process/windows-command.ts

21 lines
546 B
TypeScript

import path from "node:path";
import process from "node:process";
export function resolveWindowsCommandShim(params: {
command: string;
cmdCommands: readonly string[];
platform?: NodeJS.Platform;
}): string {
if ((params.platform ?? process.platform) !== "win32") {
return params.command;
}
const basename = path.basename(params.command).toLowerCase();
if (path.extname(basename)) {
return params.command;
}
if (params.cmdCommands.includes(basename)) {
return `${params.command}.cmd`;
}
return params.command;
}