Empty file ISO Add date back for just .kanbn Removed HardcodedFileSearchAndSort Sync with 01-23 JsonToTsv System.Text.Json White-List Ready to move to Move Helper Remove Whitelist Force Start At Check for .git directory before ls Optional Allow root for unc path nuget bump PreVerify EnforceCodeStyleInBuild dotnet_analyzer_diagnostic HelperGit searchDelegate Host File AlertIfNewDeviceIsConnected AOT SetFrontMatterAndH1 Match Error Unknown with better logging Undo 04-05 WriteAppendToHostConfFile MonA IsKanbanIndex Dotnet Format Pre-commit NPM CreateWindowsShortcut Working directory Split description Copy tests Ready to test Delete after a couple of days GitConfigCleanUp knb Files
30 lines
1.2 KiB
C#
30 lines
1.2 KiB
C#
using System.Diagnostics;
|
|
|
|
namespace File_Folder_Helper.Helpers;
|
|
|
|
internal static class HelperNPM
|
|
{
|
|
|
|
internal static string RunCommand(string commandFileName, string commandToRun, string workingDirectory)
|
|
{
|
|
string result;
|
|
if (!string.IsNullOrEmpty(commandFileName))
|
|
File.WriteAllText(Path.Combine(workingDirectory, commandFileName), commandToRun);
|
|
if (string.IsNullOrEmpty(workingDirectory))
|
|
workingDirectory = Directory.GetDirectoryRoot(Directory.GetCurrentDirectory());
|
|
ProcessStartInfo processStartInfo = new()
|
|
{
|
|
FileName = "cmd",
|
|
RedirectStandardError = true,
|
|
RedirectStandardInput = true,
|
|
RedirectStandardOutput = true,
|
|
WorkingDirectory = workingDirectory
|
|
};
|
|
Process? process = Process.Start(processStartInfo) ?? throw new Exception("Process should not be null.");
|
|
process.StandardInput.WriteLine($"{commandToRun} & exit");
|
|
process.WaitForExit();
|
|
result = $"{process.StandardOutput.ReadToEnd()}{Environment.NewLine}{process.StandardError.ReadToEnd()}{Environment.NewLine}{process.ExitCode}";
|
|
return result;
|
|
}
|
|
|
|
} |