如果我尝试使用命令在命令提示符中创建文件
mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\mods
我的电脑可以毫无问题地创建这些文件。
但是,如果我使用命令
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\mods
命令提示符响应
The filename, directory name, or volume label syntax is incorrect.
我该如何解决?
答案1
该%UserProfile%
变量是一个特殊的系统范围的环境变量,它本身就是完整的。它包含%SystemDrive%\Users\{username}
看看这个奇妙的表格重点介绍了 Windows XP (NT5) 和 Windows Vista/7/8 (NT6) 中变量之间的差异。
尝试
mkdir %userprofile%\AppData\Roaming\modinstaller\mods
其值是当前用户的配置文件目录的位置,在该目录中可以找到该用户的 HKEY_CURRENT_USER (HKCU) 注册表配置单元 (NTUSER)。
答案2
我认为你混淆了变量%USERPROFILE%
和%USERNAME%
。
默认情况下,%USERPROFILE%
和C:\Users\%USERNAME%
指向同一位置。由于不能保证这是正确的,因此使用%USERPROFILE%
是一种更可靠的方法。
一般来说,在调试如下命令时
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
您的第一步应该是添加echo
。
命令
echo mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
将显示以下内容:
mkdir C:\Users\C:\Users\Tristan\AppData\Roaming\modinstaller\recovery
这显然不是你想要的。
您还可以%USERPROFILE%
通过执行
set USERPROFILE
要查看所有当前定义的环境变量,请执行
set
答案3
实际上,楼主不仅在寻找 C:\Users\Someone,还在寻找该用户的 AppData\Roaming 文件夹。因此,最快的路径是使用
%APPDATA%
在原帖的例子中,他会使用
mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
答案4
%USERPROFILE% 变量通常包含 C:\Users\AccountName,因此正确的用法是
mkdir %USERPROFILE%\AppData\Roaming\modinstaller\recovery