gpt4 book ai didi

C# 控制台应用程序使用命令行,命令不执行

转载 作者:行者123 更新时间:2023-11-30 20:47:55 26 4
gpt4 key购买 nike

我正在使用控制台应用程序和 C# 来执行一些 AWS (S3) CLI 命令。我以为我让它工作了,因为大多数命令执行得很好。但是最后一个命令是sync,它不起作用。但我知道命令本身是正确的,因为复制粘贴到命令行窗口就可以了。以下是我目前所拥有的:

String commands = "echo echo & echo echo"; 
commands += " & aws s3 ls s3://bbbbbb";
commands += " & aws s3 sync C:\test\test2 s3://bbbbbb"; //this is the line that doesn't execute
//make this to use with a Process
ProcessStartInfo commandsToRun = new ProcessStartInfo("cmd", @"/c " + commands);
//make the Process and run it
Process process = new Process();
process.StartInfo = commandsToRun;
process.Start();

我没有任何错误或任何关于正在发生的事情的线索,我只是没有从最后一个命令得到输出,如果我用 ls 或 Cloudberry Explorer 检查,我可以看到什么都没有发生。谁能告诉我这是怎么回事?谢谢!

最佳答案

如果您的示例是您真正使用的,我会责怪 C# 字符串转义。 "\t" 在您的路径中将转换为水平制表符。使用逐字字符串(就像您在 ProcessStartInfo 中所做的那样)

commands += @" & aws s3 sync C:\test\test2 s3://bbbbbb";

或者转义反斜杠

commands += " & aws s3 sync C:\\test\\test2 s3://bbbbbb";

关于C# 控制台应用程序使用命令行,命令不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com