gpt4 book ai didi

c# - 在 ProcessStartInfo 中运行 `mklink`

转载 作者:太空狗 更新时间:2023-10-29 22:12:30 26 4
gpt4 key购买 nike

我正在开发一个需要与 Windows 和 Linux (Mono) 兼容的 c# 程序。

我正在尝试在两个平台中创建一个符号链接(symbolic link),并且我正在使用 ProcessStartInfo 以使其工作。我还没有在 Linux 上尝试过这个但是在 Windows 上我使用下面的代码

ProcessStartInfo process = new ProcessStartInfo();

process.CreateNoWindow = true;
process.UseShellExecute = false;
process.FileName = "mklink";
process.WindowStyle = ProcessWindowStyle.Hidden;
process.Arguments = "/D " + webFolder + "MyFolder" + webFolder + "MyFolder_" + version;
Process.Start(process);

当我运行上面的代码时,我得到了

System.ComponentModel.Win32Exception: The system cannot find the file specified

如果我在命令提示符下运行 mklink 它工作正常。

我在 Google 上看过,它说要执行 [DllImport("kernel32.dll")] 但这在 Linux 上行不通。

感谢您提供的任何帮助。

最佳答案

mklinkcmd.exe 程序的命令,不是独立程序。

要运行 mklink,您必须使用一组适当的参数实际调用 cmd.exe,如下所示:

ProcessInfo = new ProcessStartInfo("cmd.exe", "/c mklink " + argumentsForMklink);

关于c# - 在 ProcessStartInfo 中运行 `mklink`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11385842/

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