Way*_*yne 4 windows batch-file windows-10
我有一个批处理脚本,需要桌面文件夹的完整路径。
现在我正在使用%USERPROFILE%/Desktop,它工作正常,直到我了解到可以更改路径(请参阅可以更改 Windows 中桌面文件夹的位置吗?)。
我尝试阅读注册表,最终得到类似这样的结果(我安装了 cygwin):
REG QUERY "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Current
Version\Explorer\Shell Folders" /v Desktop |grep Desktop| awk '{$1=$2=""; print $0}'
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我不喜欢它的稳健性和简单性。更不用说如果我没有awk可用的,那就更乱了。
正如我注意到的,您可以输入shell:Desktop文件资源管理器,它会为您打开桌面文件夹。但是我不知道如何在批处理文件中使用它。
是否有隐藏的环境变量或简单的命令可以用来检索该值?
大多数特殊文件夹没有环境变量。官方方法是从 Win32 API调用SHGetKnownFolderPath()或从 .NET \xe2\x80\x93 调用System.Environment.GetFolderPath(),后者可以通过 PowerShell轻松访问:
\n$dir = [Environment]::GetFolderPath("Desktop")\nRun Code Online (Sandbox Code Playgroud)\n批处理脚本(Cmd.exe)无权访问此类功能;您必须调用执行此操作的程序(例如 PowerShell 或nircmd等第三方工具)。
\n| 归档时间: |
|
| 查看次数: |
14176 次 |
| 最近记录: |