问题标签 [shell-verbs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
277 浏览

c# - 在 Windows 10 上,如何使用 shell 执行动词“SendTo”以编程方式将一组文件从 C# 发送到 CD/DVD 刻录机

关于在 C# 应用程序中使用 ShellExecute 动词,我确实有这个非常具体的问题,该应用程序使用 System.Diagnostics 命名空间中的 ProcessStartInfo 类。

我所拥有的:一组文件(文本和二进制文件),我想使用安装了 Windows 10 的机器的 CD/DVD 驱动器将它们刻录到 CD/DVD 上。

我想要做什么:从 C# .NET Framework 4.x 应用程序(无论是控制台还是 Windows 窗体),我想使用 ProcessStartInfo 运行一个单独的进程(进程对象)(其中 UseShellExecute 属性是设置为 true)并指定动词“SendTo”,它应该将我的文件集“发送”到准备好的 CD/DVD 驱动器(已插入所需的空磁盘)。

您可以想象它就像在 Windows 资源管理器中选择该组文件,右键单击该组并选择“刻录到 ' CD/DVD 驱动器名称'。这个相同的功能实现为 C# 程序。

我不想要的:我不想使用 IMAPI2 接口,也不想用其他语言(fe C/C++)编写代码。由于 Cygwin 依赖性,我还想避免使用 cdrtools 或 cdrtfe 等外部应用程序。

我已经尝试过:我已经尝试形成正确的 ProcessStartInfo 对象,但似乎我没有将正确的信息传递给底层的 ShellExecute 过程:

该过程以错误结束:' Win32Exception(1155):指定的文件尚未分配给应用程序'。

我一直在寻找这个特定功能的实现,但仍然无法从 SO 和 MS 博客页面中找到任何有用的提示。
有关此特定要求的更多信息,请在此处询问。

提前感谢您的关注和帮助。

0 投票
3 回答
238 浏览

powershell - 记录某事的最佳 PowerShell 动词?

在 PowerShell 脚本中,我有一个类似的函数Log-Statistics(),它只是将一些内容输出到标准输出。但它也可以将内容输出到特定的日志文件。

但是,Log-不是一个批准的 PS 动词

有什么推荐吗?

我正在考虑:

  • Out-Statistics()
  • Write-Statistics()
  • LogStatistics()
0 投票
1 回答
62 浏览

windows - 如何捕获带有空格和尾部反斜杠的路径的命令行参数?

我在注册表中创建了一个自定义命令条目,以便在用户右键单击文件夹时将项目添加到 Windows 资源管理器上下文菜单中。这正是注册表中的值:

"C:\Program Files\Directory Switcher\DirectorySwitcher.exe" "%V" "2021.0"

%V返回当前目录。如果目录路径中有任何名称中带有空格的文件夹,则会导致路径拆分为其他命令行参数。为了解决这个问题,微软告诉你在它周围加上引号"%V"

具体问题是,当 %V 位于驱动器根目录时,C:\ 中的反斜杠会转义结束引号并导致其余命令行参数解析不正确。例如,在 C:\ 我得到一个参数C:" 2021.0,而不是预期的两个C:\and 2021.0

如何正确封装 %V 以便它适用于以反斜杠结尾的普通文件夹路径和驱动器根?另一种方法是更改​​我的程序以查找这种边缘情况,但我宁愿了解如何更正我的 shell 动词。

(有关 %V 的信息可以在这个 SuperUser question中找到)

可以在此处找到有关 shell 命令字符串的官方 Microsoft 文档