【发布时间】:2021-11-03 15:25:30
【问题描述】:
我编写了一个控制台应用程序以编程方式调用 AZcopy 工具,但我无法调用 azcopy 工具。你能把可行的来源重定向给我吗?我已经下载了 azcopy_windows_amd64_10.12.1 并将 azcopy.exe 放入 C:\Windows\System32\azcopy.exe 位置
static void Main(string[] args)
{
string strCmdText = @"AzCopy.exe sync ""D:\temp"" ""https://myhubforazcopy.blob.core.windows.net/myhubforazcopy1?sp=racwdl&st=2021-09-05T17:19:11Z&se=2021-09-06T01:19:11Z&spr=https&sv=2020-08-04&sr=c&sig=MAraJ0PxqJMDdYuWzrOUEwYda%2BkXEukP%2Fs%3D"" --destination-delete=true";
CallProcess(strCmdText);
}
public static void CallProcess(string strCmdText)
{
//C:\Windows\System32\azcopy.exe
var process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = @"C:\Windows\System32\cmd.exe",
RedirectStandardInput = true,
RedirectStandardOutput = true,
Arguments = strCmdText,
UseShellExecute = false,
CreateNoWindow = false,
WorkingDirectory = @"D:\AzCopy\bin\Debug\"
};
process.StartInfo = startInfo;
process.Start();
process.StandardInput.Flush();
process.StandardInput.Close();
process.WaitForExit();
Console.WriteLine(process.StandardOutput.ReadToEnd());
}
【问题讨论】:
-
为什么要启动一个 shell,然后才运行 AzCopy?为什么不直接启动 Azcopy?
-
我想以编程方式执行上述命令
标签: c# cmd azure-blob-storage azcopy