相关疑难解决方法(0)

如何在命令提示符中使用空格?

如何在Windows命令行中使用空格?

cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
Run Code Online (Sandbox Code Playgroud)

windows cmd escaping

167
推荐指数
7
解决办法
50万
查看次数

即使文件存在,Process.start 也会导致找不到文件

我使用以下代码通过系统上安装的任意应用程序打开任意文件:

if (File.Exists(_document.DocumentFullPath))
{
    Process.Start(_document.DocumentFullPath);
}
else MessageBox.Show(string.Format("Document {0} does not exist!", _document.DocumentFullPath));
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,我看到 file.Exists 返回 true,因此该文件确实存在。但随后会打开相应的应用程序,例如图像查看器或 pdf 查看器,具体取决于我尝试打开的文件类型(jpg 或 pdf),但它在该应用程序中显示错误,无法找到该文件。不会引发任何异常。这种情况并不总是发生,而是仅发生在某些文件上。如果我尝试通过在资源管理器中复制粘贴 DocumentFullPath 的内容来手动打开这些文件,则该文件会在适用的应用程序中正确打开。

呃,我不明白出了什么问题。无效的文件名示例:

C:\Users\stuyckp\Documents\Visual Studio 2010\Projects\WPF\FrakoKlantOpvolgingWPF\FrakoKlantOpvolgingWPF\bin\Debug\ProjectDocumenten\11339_Wigbers\6197_koelkast \big-money.jpg
Run Code Online (Sandbox Code Playgroud)

我在 Windows 10 上运行。

c#

4
推荐指数
1
解决办法
6834
查看次数

如何用cmd打开记事本?

我想用CMD打开记事本,使用C#,但路径中有一个空格.我知道有很多类似的问题,但是我无法使用这些解决方案来处理我的示例.我不知道为什么.如果有人想要帮助,我们将不胜感激.

  System.Diagnostics.Process process = new System.Diagnostics.Process();
  System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
  startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
  startInfo.FileName = "cmd.exe";
  startInfo.Arguments = @"/C START ""C:\Users\Dale\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\notepad.exe""";
  process.StartInfo = startInfo;
  process.Start();
Run Code Online (Sandbox Code Playgroud)

没有错误消息,但命令提示符中没有任何操作,并且记事本无法打开.另一个问题是,即使我添加了命令提示符也是可见的

startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
Run Code Online (Sandbox Code Playgroud)

c# cmd path

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×2

cmd ×2

escaping ×1

path ×1

windows ×1