【发布时间】:2016-09-08 13:17:02
【问题描述】:
有没有办法创建一个简单的批处理文件来查找安装 Windows 的驱动器?
【问题讨论】:
-
为什么要知道windows安装在哪里?
-
它用于修复启动问题的脚本,当您遇到启动问题时应该可以运行该脚本
标签: windows file batch-file
有没有办法创建一个简单的批处理文件来查找安装 Windows 的驱动器?
【问题讨论】:
标签: windows file batch-file
在命令提示符或批处理文件中使用%SystemDrive%。
echo %SystemDrive%
或
d:>%SystemDrive%
c:>
【讨论】:
%SystemDrive% 作为字符串文字而不是变量值时才这样做。
%%i - 不知道为什么,反正做错了。已更正。
Ken White 有通过%SystemDrive% 获取系统驱动器的“正常”方式。但是通过设置您自己的值很容易破坏该变量。
应该“始终”适用于 XP 之后的任何 Win 版本的替代方法是使用:
for %%A in ("%__APPDIR__%") do echo %%~dA
当然,您可以将自己的 InstallDrive 变量设置为 %%~dA 的值。
%__APPDIR__% 变量是两个特殊的动态“变量”之一,它们始终报告正确的值,即使用户试图通过显式定义自己的同名变量来覆盖该值。但是,可以在 XP 上覆盖该值。有关动态变量 %__CD__% 和 %__APPDIR__% 的更多信息,请参阅 Why can't I access a variable named __CD__ on Windows 7?。
【讨论】:
以防万一“找到驱动器”不仅仅意味着驱动器号:
@Echo Off
For /F "Tokens=2,5,6 Delims=\|" %%I In ('WMIC OS Get Name') Do Echo=%%I %%J %%K
Timeout -1
...而且没有真正的原因:
@Echo Off
For /F "Tokens=2,5,6 Delims=\|" %%I In ('WMIC OS Get Name') Do (
Set _di=%%I %%K %%J )
Set/A _dn=%_di:~-1%+1
For /F "UseBackQ Tokens=2 Delims==" %%L In (`WMIC DiskDrive Where^
"DeviceID Like '%%PHYSICALDRIVE%_dn%'" Get Model /Value`) Do Echo=%_di% %%L
Timeout -1
【讨论】:
在 dos 命令提示符中键入 cd %windir%,然后按 Enter。
注意当前文件夹。这是安装 Windows 的文件夹。
【讨论】:
您实际上不需要批处理文件。只需按住 windows 键并按 R 打开一个小窗口,您可以在其中键入 %windir% 并按 Enter。
将弹出一个 Windows 资源管理器窗口,显示 Windows 安装目录。您可以单击显示目录的栏(如浏览器的 URL 栏)以获取直接路径,包括任何父文件夹和驱动器号。
【讨论】: