无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5230|回复: 28

批处理确定U盘盘符的方法,而不使用PECMD加载ChangeUSB.INI强制更改

[复制链接]
发表于 2024-4-12 14:52:22 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2024-4-12 15:45:40 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2024-4-12 16:32:27 | 显示全部楼层

谢谢分享
回复

使用道具 举报

发表于 2024-4-12 16:47:55 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2024-4-12 17:14:43 | 显示全部楼层
@echo off
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (
   set DriveU=%%a
)
echo.%DriveU%
pause

@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
   for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.* 可移动"') do (
     set DriveU=%%h
   )
)
echo.%DriveU%
pause

点评

PE下要用wmic是比较困难的。  详情 回复 发表于 2024-4-15 18:03
回复

使用道具 举报

发表于 2024-4-12 18:05:39 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2024-4-12 18:57:45 | 显示全部楼层
@echo off
echo,
echo 批处理确定U盘盘符
echo,
echo,
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (
   echo,
   set DriveU=%%a
   echo 已确定U盘盘符:%%a
)
echo,
echo,
pause
echo,
echo,

@echo off
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
   for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.* 可移动"') do (
     echo,
     set DriveU=%%h
     echo 已确定U盘盘符:%%h
   )
)
echo,
echo,
echo,
pause
goto :EOF
回复

使用道具 举报

发表于 2024-4-12 19:10:16 | 显示全部楼层
虽然看不很明白,但是还得感谢分享
回复

使用道具 举报

发表于 2024-4-12 19:13:47 来自手机 | 显示全部楼层
这样的方法没有普遍意义
回复

使用道具 举报

发表于 2024-4-12 19:29:45 | 显示全部楼层
6楼8楼的也不错,但是移动硬盘不显示可移动那就不通用了~~
回复

使用道具 举报

 楼主| 发表于 2024-4-12 20:45:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-4-13 00:06:41 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

发表于 2024-4-13 07:08:43 | 显示全部楼层
search-part-2.61(pecmd_cli_script).wcs.7z (3.55 KB, 下载次数: 26)

点评

还是菜大靠谙!  发表于 2024-4-15 18:05
还是靠谙!  发表于 2024-4-15 18:04
没见过这软件,你自己写的吗  详情 回复 发表于 2024-4-13 20:25
回复

使用道具 举报

 楼主| 发表于 2024-4-13 20:25:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-4-13 23:43:07 | 显示全部楼层
bjay2008xmy 发表于 2024-4-13 20:25
没见过这软件,你自己写的吗

就是 pecmd 内嵌了一个 脚本。
回复

使用道具 举报

发表于 2024-4-15 18:03:26 | 显示全部楼层
fuldho 发表于 2024-4-12 17:14
@echo off
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID  ...

PE下要用wmic是比较困难的。
回复

使用道具 举报

发表于 2024-4-15 23:12:11 | 显示全部楼层
本帖最后由 pda8888 于 2024-6-20 15:43 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. mode con cp select=437 > nul  & rem 这样可以不清屏就切换页代码,采用英文输出信息保持一致性。
  3. set /a "idx=0"
  4. for /f "tokens=2,3 delims= " %%a in ('echo list volume^|diskpart^|findstr /i /r /c:"^[ ]*Volume [0-9][0-9]*[ ]*[A-Z][ ] *"') do (
  5.         call :is_usb %%a && (
  6.                 set /a "idx+=1"
  7.                 set "usb[!idx!]=%%b"
  8.         )
  9. )
  10. mode con cp select=936 > nul & rem 回到中文
  11. if %idx% geq 1 (
  12.         set "USBList="
  13.         for /l %%u in (1 1 %idx%) do (
  14.                 set "USBList=!USBList! !usb[%%u]!:"
  15.         )
  16.         set "USBList=!USBList:~1!"
  17.         echo USB 驱动器列表: !USBList!
  18. ) else echo 没有发现 USB 驱动器
  19. exit /b

  20. :is_usb
  21.         if "%~1"=="" exit /b 1
  22.         set "volume=%~1"
  23.         for /f "tokens=2* delims=: " %%u in ('^(echo select volume %volume% ^& echo detail disk^)^| diskpart ^| findstr /r /i /c:"^Type[ ]*:[ ]*USB"') do exit /b 0
  24. exit /b 1
复制代码
回复

使用道具 举报

发表于 2024-4-16 10:20:23 | 显示全部楼层
本帖最后由 fuyechun 于 2024-4-16 10:21 编辑

以前在网上搜的,在PE下能用,一直用到现在,代码也简洁。应该是没什么问题吧
  1. @echo off
  2. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3.     for /f %%h in ('fsutil fsinfo drivetype %%i:^|find "可移动"') do (
  4.         set DriveU=%%h
  5.     )
  6. )
  7. echo,%DriveU%
复制代码

点评

这个也好用,不过有个问题。PE用什么启动?U盘。通常能启动PE的U盘会有两个分区,一个启动分区、一个数据分区。这两个分区都会被fsutil fsinfo drivetype %%i识别为可移动,所以这个方法不准确  详情 回复 发表于 2024-4-16 13:23
回复

使用道具 举报

 楼主| 发表于 2024-4-16 13:23:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2024-4-16 13:29:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-4-16 21:10:00 | 显示全部楼层
啥情况?
回复

使用道具 举报

发表于 2024-4-30 10:19:28 | 显示全部楼层
bjay2008xmy 发表于 2024-4-16 13:23
**** 作者被禁止或删除 内容自动屏蔽 ****

这是微软官方的脚本,没去试过,不知道效果怎么样:
在 Windows PE 中使用此脚本来识别包含“Images”文件夹的驱动器。
  1. @echo Find a drive that has a folder titled Images.
  2. @for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%a:\Images\ set IMAGESDRIVE=%%a
  3. @echo The Images folder is on drive: %IMAGESDRIVE%
  4. @dir %IMAGESDRIVE%:\Images /w
复制代码

链接:https://learn.microsoft.com/zh-c ... -deployment-scripts
拉到底就可以看到了

点评

感谢分享  详情 回复 发表于 2024-10-18 16:36
回复

使用道具 举报

发表于 2024-5-3 18:19:02 | 显示全部楼层
感谢
回复

使用道具 举报

发表于 2024-7-27 03:29:57 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2024-10-18 16:36:58 | 显示全部楼层
fuyechun 发表于 2024-4-30 10:19
这是微软官方的脚本,没去试过,不知道效果怎么样:
在 Windows PE 中使用此脚本来识别包含“Images”文 ...

感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-23 20:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表