有关于如何在 SendTo 文件夹中使用 bash 脚本的说明(使用以下链接中的说明)。但是,我想执行 PowerShell 脚本。
我希望快捷方式能够执行我在 PowerShell 配置文件中定义的 PowerShell 函数,调用-SendToUPLOAD...其中 Invoke-SendToUPLOAD 接受 sendto 文件的完整文件路径作为参数默认情况下。
我“几乎”得到了我想要的东西。但是,包含空格的文件路径会被截断。有人能告诉我如何保留文件路径,即使路径中有空格。我试过在%1下面。但是,这也不起作用。
C:\Windows\System32\cmd.exe /c start /min cmd.exe /c PowerShell.exe -Command "& {param ($I = {%1} ); Invoke-SendToUPLOAD }"
答案1
StackOverflow 上有一个针对此问题的解决方案:https://stackoverflow.com/a/15934981/651934
简而言之,用单引号将参数括起来。对于你的情况,以下应该有效:
C:\Windows\System32\cmd.exe /c start /min cmd.exe /c PowerShell.exe -Command "& {param ($I = {'%1'} ); Invoke-SendToUPLOAD }"
缺点是它不支持包含单引号的文件名。但空格和其他字符可以正常工作。
答案2
我正在尝试找到一种方法,使用 Powershell PS1 脚本通过 SendTo 文件夹更改所选文件名的大小写。
对于我来说,使用前面评论中描述的带有命令行的批处理文件不起作用。
首先,我创建了以下 PS1 脚本:
#filenames-to-lowercase-recursively,ps1
Get-ChildItem -recurse | 其中 {-Not $.PSIsContainer} | 重命名项目-新名称 { $.全名.ToLowerInvariant() }
然后,我将 PS1 文件转换为 EXE 文件,并将 EXE 文件复制到 SendTo 文件夹。我使用了在线转换器在线 Powershell 到 Exe 转换器。
PS1 文件的 EXE 版本非常适合选择所需文件并从发送到菜单运行 EXE。我甚至可以毫无问题地选择多个文件。