|
|
1
14
如果要删除与Windows资源管理器相关的文件,则可以将自己的删除处理程序实现为外壳扩展处理程序(请参见 http://msdn.microsoft.com/en-us/library/cc144165(VS.85).aspx 和 http://msdn.microsoft.com/en-us/library/bb776797.aspx )论 http://www.codeproject.com/kb/shell/shellextguideindex.aspx 你会发现一个很好的介绍如何写这样的扩展。第六部分(见 http://www.codeproject.com/kb/shell/ShellExtGuide6.aspx )给出了一个Drop处理程序的示例(对于其他一些用例,但这并不重要)。 关于drop shell扩展处理程序,您的程序将接收有关所有已删除文件的完整信息,您不需要使用所有文件作为类似命令的参数来启动子程序。 |
|
|
2
14
从 this blog :
所以你必须解决一些上面提到的解决方法(同时,在我链接的msdn博客上还有另一个解决方法)。 |
|
|
3
2
我认为拖放处理程序可能是一种方式,但它似乎相当沉重。 另一种解决方案是使用资源管理器上下文菜单处理程序。安装好后,您将选择所有文件,但不是拖动它们,而是右键单击,然后选择新的菜单项“发送到”。 当选择菜单项时,它会将命令列表传递给程序。有几种方法可以做到这一点:
|
|
|
4
1
将文件拖放到应用程序上后,将文件名列表写入文本文件,然后将此文件的位置提供给程序。然后目标程序可以读取这个文件并逐行处理它。这样,您只需传递一个文件名。 |
|
|
5
1
我将修改应用程序以从特定位置(例如文件系统上的特定文件夹)提取文件,而不是在命令行上指定每个文件。 更新: 如果要求能够通过Windows资源管理器将项目拖动到.exe上,以按上述标记启动应用程序,则可以将所有文件放到一个文件夹中,并将整个文件夹放到.exe上。 |
|
6
1
我认为最简单的解决方案是修改应用程序以接受目录作为参数,而不是文件列表。这将允许您将多个文件复制到一个目录中。然后可以将文件夹拖放到可执行文件上。然后,它将运行一个类似“c:\myapp.exe\folder with files in it”的命令,该命令不应运行到您现在遇到的命令行参数限制中。 |
|
|
7
1
我在尝试获取长路径上的安全细节时遇到了类似的问题。 我的解决方案是在路径长度过长时映射驱动器。查看我的解决方案 How do I get the security details for a long path? |
|
|
8
1
Unix命令通常有一个或两个参数的长度可以是无限的。其中一些命令添加了参数,这些参数可以从文件或标准输入中获取这些参数。因此,您有一个命令,它列出参数列表,并将它们通过管道发送到临时文件,或者将它们通过管道发送到stdout。 另请参见xargs,它可以获取参数列表,并使用所有参数调用命令,或者批量调用命令。 |
|
|
9
1
如何绕过命令行长度限制?将整个命令写入批处理文件,例如“c:\users\johnny\documents\mybatch.bat”。像在命令中那样写它(不需要转义任何东西)。然后,在代码中,只需调用该文件:
|
|
|
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 1 年前 |