Я хочу запустить docker команды из C# приложения, используя класс Process. Все команды docker работают нормально, но всякий раз, когда я хочу выполнить какую-либо команду, включая ""
(двойные кавычки) или '
(одинарные кавычки), она не выполняется успешно.
void DeleteExistingImage()
{
string command1 = "/C docker rmi $(docker images --format";
string command2 = @"""{{.Repository}}:{{.Tag}}""";
string command3 = "|findstr";
string command4 = @"""myrepo/myimage""";
string command5 = ")";
string command = command1 + command2 + command3 + command4 + command5;
ProcessCommand(command);
}
void ProcessCommand(string command)
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true,
CreateNoWindow = true,
FileName = "cmd.exe",
Arguments = command
};
mProcess.StartInfo = startInfo;
mProcess.Exited += (sender, args) =>
{
mProcess.Dispose();
};
mProcess.Start();
string output = mProcess.StandardOutput.ReadToEnd();
mProcess.Close();
}
Выше команда не работает в моем случае. Хотя я перепробовал все escape-последовательности, но не работал. Спасибо за помощь.