将动态参数传递给CMD并保存命令
Passing dynamic parameters to CMD and saving the command
我想通过上下文菜单对 Windows 10 文件资源管理器中预先选择的文件夹(最好还有文件 - 单个和多个文件)进行密码加密。不幸的是,我找不到任何能够做到这一点的程序。如果你碰巧知道一个请告诉,那将是完美的解决方案。
否则,this tool 是我能找到的最接近描述要求的。但是,它需要通过自己的导航 window 手动导航到所需的文件夹,因此仅通过右键单击 Windows 文件资源管理器中的文件夹是行不通的。但我有一个解决方法:该工具支持 CMD 命令行,因此可以像这样加密文件夹:
"C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe" -p password -e "C:\Users\username\Documents\Test"
如果我可以制作 password
和 Test
文件夹动态变量并存储 CMD 命令或将其制作为批处理、AHK-、VBscript-、Powershell- 或任何脚本我可以将该脚本附加到 registry key HKEY_CLASSES_ROOT\Directory\shell key as described here 右侧,并且在右键单击文件资源管理器中的文件夹后,它会出现在上下文菜单中。
但是如何使 password
(我应该被提示输入我的选择之一)和 Test
-文件夹(我已经在文件资源管理器中右键单击)动态变量并将整个东西存储为我可以附加到 HKEY_CLASSES_ROOT\Directory\shell 的脚本,以便脚本出现在上下文菜单中?
非常感谢!
无需亲自尝试,我相信您可以像这样轻松地使用 AHK 做到这一点:
;the folder/file path should be here
path := A_Args[1]
InputBox, pass, % "Encrypt File/Folder", % "Enter a password", HIDE
command := """C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe"" -p """ pass """ -e """ path """"
;verify that the command we're about to launch is correct
;obviously you'd remove this from the real final version of the script
MsgBox, 4, % "Check command", % "Is this command correct?`n" command
IfMsgBox, Yes
Run, % command
在其中添加了一个测试消息框,以便您可以查看它是否按预期工作。
相关文档链接:
A_Args, InputBox, Escaping quotes and MsgBox
有关如何处理参数的信息,请参阅 call /?
。使用 set /p
获取用户输入(如果你不喜欢输入的大黑框,你必须切换到另一种语言(或使用一种语言的帮助);cmd
是基于命令行的) :
@echo off
set /p "pass=Enter password: "
"C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe" -p %pass% -e "%~1"
在 %APPDATA%\Microsoft\Windows\SendTo\
中放置该脚本的快捷方式
我想通过上下文菜单对 Windows 10 文件资源管理器中预先选择的文件夹(最好还有文件 - 单个和多个文件)进行密码加密。不幸的是,我找不到任何能够做到这一点的程序。如果你碰巧知道一个请告诉,那将是完美的解决方案。
否则,this tool 是我能找到的最接近描述要求的。但是,它需要通过自己的导航 window 手动导航到所需的文件夹,因此仅通过右键单击 Windows 文件资源管理器中的文件夹是行不通的。但我有一个解决方法:该工具支持 CMD 命令行,因此可以像这样加密文件夹:
"C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe" -p password -e "C:\Users\username\Documents\Test"
如果我可以制作 password
和 Test
文件夹动态变量并存储 CMD 命令或将其制作为批处理、AHK-、VBscript-、Powershell- 或任何脚本我可以将该脚本附加到 registry key HKEY_CLASSES_ROOT\Directory\shell key as described here 右侧,并且在右键单击文件资源管理器中的文件夹后,它会出现在上下文菜单中。
但是如何使 password
(我应该被提示输入我的选择之一)和 Test
-文件夹(我已经在文件资源管理器中右键单击)动态变量并将整个东西存储为我可以附加到 HKEY_CLASSES_ROOT\Directory\shell 的脚本,以便脚本出现在上下文菜单中?
非常感谢!
无需亲自尝试,我相信您可以像这样轻松地使用 AHK 做到这一点:
;the folder/file path should be here
path := A_Args[1]
InputBox, pass, % "Encrypt File/Folder", % "Enter a password", HIDE
command := """C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe"" -p """ pass """ -e """ path """"
;verify that the command we're about to launch is correct
;obviously you'd remove this from the real final version of the script
MsgBox, 4, % "Check command", % "Is this command correct?`n" command
IfMsgBox, Yes
Run, % command
在其中添加了一个测试消息框,以便您可以查看它是否按预期工作。
相关文档链接:
A_Args, InputBox, Escaping quotes and MsgBox
有关如何处理参数的信息,请参阅 call /?
。使用 set /p
获取用户输入(如果你不喜欢输入的大黑框,你必须切换到另一种语言(或使用一种语言的帮助);cmd
是基于命令行的) :
@echo off
set /p "pass=Enter password: "
"C:\Program Files (x86)\EncryptOnClick\EncryptOnClick.exe" -p %pass% -e "%~1"
在 %APPDATA%\Microsoft\Windows\SendTo\