gpt4 book ai didi

Windows 上下文菜单运行隐藏的 xcopy

转载 作者:可可西里 更新时间:2023-11-01 09:32:44 25 4
gpt4 key购买 nike

我正在尝试为 Windows 中的文件夹的上下文菜单添加一个新选项。我已经设法添加选项并指定其命令如下:

xcopy.exe "%0\*" "c:\Destination\" /EHY

此代码添加到regedit.exe

Snapshot here.

我在 c: 驱动器中有一个名为 Destination 的文件夹。我正在尝试将我右键单击的文件夹复制到 Destination 文件夹,没有命令提示符窗口。

发生了什么:xcopy 正在运行并在前台复制文件夹的内容。请帮我解决这两个问题:

  1. 在不显示窗口的情况下运行 xcopy 命令。
  2. 将文件夹复制到 Destination 中以复制的文件夹命名的新文件夹。

谢谢。

最佳答案

满足列出的两个问题的命令在最后。首先,一些注释说明。

当您将 shell 命令添加到 Windows 注册表时,您可以使用多个变量(例如 %1%L%V )。现在,您想要在 Destination 中创建一个以复制的文件夹命名的新文件夹。 Parameter extensions (例如 %~n1)可以从完整路径中删除所有内容,并为您提供目录叶的名称。但是,当使用 Windows 注册表中的 shell 命令时,这些将不可用。获取普通目录名称的最直接方法是创建一个临时批处理脚本,运行它,然后删除该批处理脚本。

以下会将所选目录复制为 Destination 中的子目录:

cmd.exe /c echo @echo off>"C:\Destination\_tempxcopy.bat" & echo xcopy "%%~1\*" "C:\Destination\%~n1" /ECIQHY ^>nul>>"C:\Destination\_tempxcopy.bat" & call "C:\Destination\_tempxcopy.bat" "%1" & del "C:\Destination\_tempxcopy.bat"

下一部分需要使用第三方实用程序。

前面的命令将打开一个命令窗口,只要复制正在进行,它就会保持打开状态。要隐藏该窗口,请使用微型实用程序 RunHiddenConsole

以下将复制所选目录并在复制时隐藏命令窗口:

"C:\Destination\RunHiddenConsole.exe" cmd.exe /c echo @echo off>"C:\Destination\_tempxcopy.bat" & echo xcopy "%%~1\*" "C:\Destination\%~n1" /ECIQHY ^>nul>>"C:\Destination\_tempxcopy.bat" & "C:\Destination\RunHiddenConsole.exe" /w "C:\Destination\_tempxcopy.bat" "%1" & del "C:\Destination\_tempxcopy.bat"

这当然可以变得更加灵活和高效,但上面的命令至少演示了完成任务的技术。

关于Windows 上下文菜单运行隐藏的 xcopy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43159518/

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