你的注册表文件看起来已经很接近了,但为了确保所有功能都能正常工作,我们再做一次详细的检查和确认。以下是最终版本的注册表文件,确保每个部分都正确无误。
1. 创建注册表文件
1. 打开记事本,输入以下内容:
Windows Registry Editor Version 5.00
; 删除旧的注册表项
[-HKEY_CLASSES_ROOT\*\shell\CopyFileName]
[-HKEY_CLASSES_ROOT\*\shell\CopyFileName\command]
[-HKEY_CLASSES_ROOT\*\shell\CopyFilePath]
[-HKEY_CLASSES_ROOT\*\shell\CopyFilePath\command]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyFolderPath]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyFolderPath\command]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyFullPath]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyFullPath\command]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyAllFilePaths]
[-HKEY_CLASSES_ROOT\Directory\shell\CopyAllFilePaths\command]
; 添加复制文件名和后缀的右键菜单项
[HKEY_CLASSES_ROOT\*\shell\CopyFileName]
@="复制文件名和后缀"
[HKEY_CLASSES_ROOT\*\shell\CopyFileName\command]
@="powershell -NoProfile -Command \"Add-Type -AssemblyName PresentationCore; [System.Windows.Clipboard]::SetText((Get-Item '%1').Name)\""
; 添加复制文件路径的右键菜单项
[HKEY_CLASSES_ROOT\*\shell\CopyFilePath]
@="复制文件路径"
[HKEY_CLASSES_ROOT\*\shell\CopyFilePath\command]
@="cmd /c echo %1 | clip"
; 添加复制文件夹路径的右键菜单项
[HKEY_CLASSES_ROOT\Directory\shell\CopyFolderPath]
@="复制文件夹路径"
[HKEY_CLASSES_ROOT\Directory\shell\CopyFolderPath\command]
@="cmd /c echo %1 | clip"
Windows Registry Editor Version 5.00
; 添加复制所有文件路径的右键菜单项
[HKEY_CLASSES_ROOT\Directory\shell\CopyAllFilePaths]
@="复制所有文件路径"
[HKEY_CLASSES_ROOT\Directory\shell\CopyAllFilePaths\command]
@="cmd /c dir /s /b \"%1\" | clip"
2. 保存文件为 `CopyFileNameAndPath.`。
2. 运行注册表文件
1. 双击 `CopyFileNameAndPath.` 文件,然后点击“是”以确认将信息添加到注册表中。
3. 测试功能
1. 右键点击任何文件,你应该会看到两个新的选项:“复制文件名和后缀”和“复制文件路径”。
- 选择“复制文件名和后缀”,然后粘贴到任意位置,应该会看到文件名(包括后缀)被复制到了剪贴板。
- 选择“复制文件路径”,然后粘贴到任意位置,应该会看到文件的完整路径被复制到了剪贴板。
2. 右键点击任何文件夹,你应该会看到一个新的选项:“复制文件夹路径”。
- 选择“复制文件夹路径”,然后粘贴到任意位置,应该会看到文件夹的完整路径被复制到了剪贴板。
进一步排查
如果上述方法仍然无效,可以尝试以下步骤进一步排查问题:
1. 重启资源管理器:
- 按 `Ctrl + Shift + Esc` 打开任务管理器。
- 找到“Windows 资源管理器”,右击并选择“重新启动”。
2. 手动测试命令:
- 打开 PowerShell,输入以下命令并按回车,确保命令能够正确执行:
powershell
Add-Type -AssemblyName PresentationCore; [System.Windows.Clipboard]::SetText((Get-Item 'C:\path\to\your\file.txt').Name)
- 打开命令提示符,输入以下命令并按回车,确保命令能够正确执行:
cmd
echo C:\path\to\your\folder | clip
希望这些步骤能帮助你解决问题。如果有任何问题或需要进一步的帮助,请告诉我!