如何通过CMD获取多语言Windows 10/11系统的启动文件夹路径
跨语言获取Windows 10/11启动文件夹路径的方法
直接硬编码路径会因为系统语言本地化而失效,以下是三种可靠的跨语言解决方案:
方法1:PowerShell(推荐,最简洁可靠)
通过系统环境变量API或Shell对象直接获取标准化路径,不受语言影响:
# 方式1:调用环境变量接口 [Environment]::GetFolderPath('Startup') # 方式2:通过Shell命名空间获取 (New-Object -ComObject Shell.Application).NameSpace('shell:Startup').Self.Path
执行后会直接返回当前用户的启动文件夹绝对路径。
方法2:Batch脚本中查询注册表
Windows将启动文件夹路径存储在固定注册表项中,可通过命令行读取:
@echo off for /f "tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Startup"') do set "startupFolder=%%b" echo %startupFolder%
脚本会自动读取注册表中的路径值并输出,适配所有语言版本。
方法3:直接打开启动文件夹(无需获取路径字符串)
如果只是需要打开启动文件夹而非获取路径,可直接执行:
start shell:Startup
该命令会直接唤起资源管理器打开当前用户的启动文件夹,跨语言通用。
注意:硬编码路径的问题在于Windows会根据系统语言自动本地化文件夹名称(如法语版的
Menu Démarrer\Programmes\Démarrage),而上述方法均依赖系统原生接口,完全避免了语言适配问题。
内容的提问来源于stack exchange,提问作者Jishad
相关产品推荐
相关产品推荐

