我有一个右键单击上下文菜单来重命名文件。这是通过将以下内容导入注册表创建的:
[HKEY_CURRENT_USER\Software\Classes\*\shell\add_date]
@="Add date to filename"
[HKEY_CURRENT_USER\Software\Classes\*\shell\add_date\command]
@="C:\\Program Files\\Git\\usr\\bin\\mintty.exe --exec \"/usr/bin/bash\" --login -i -c \"/c/Users/V/OneDrive\\ -\\ A/src/insert_date/insert_date.sh '%1'; sleep 2"
我还尝试了用双引号的替代方案:
[HKEY_CURRENT_USER\Software\Classes\*\shell\add_date]
@="Add date to filename"
[HKEY_CURRENT_USER\Software\Classes\*\shell\add_date\command]
@="C:\\Program Files\\Git\\usr\\bin\\mintty.exe --exec \"/usr/bin/bash\" --login -i -c \"/c/Users/V/OneDrive\\ -\\ A/src/insert_date/insert_date.sh \\\"%1\\\"; sleep 2"
但是,当文件名包含空格时,文件名不会传递给脚本,而是类似这样的内容000000~2.pptx
(零是我的文件名的前 6 个字符)。对于重命名,我需要原始文件名。如何解决这个问题?
重命名本身是通过 bash 脚本完成的。