#include <string>
namespace CmdLibrary
{
public ref class CmdLibrary
{
public:
static void Cmd(System::String^ command)
{
system(MarshalString(command).c_str());
}
static void PowerShell(System::String^ command)
{
Cmd("powershell -c \"" + command + "\"");
}
static void Bash(System::String^ command)
{
Cmd("bash -c \'" + command + "\'");
}
static System::String^ WindowsPathToWslPath(System::String^ windowsPath)
{
return "/mnt/" + windowsPath->ToLower()[0] + windowsPath->Split(':')[1]->Replace('\\', '/');
}
private:
static std::string MarshalString(System::String^ s)
{
return static_cast<const char*>((System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(s)).ToPointer());
}
};
}