无忧启动论坛

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

请高手帮忙写两个批处理bat文件!

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-25 14:24:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我对dos不熟悉,现在想在PE下达到如下目的:

1、通过运行一个批处理bat文件,找到u盘盘符,并进入u盘根目录。

2、通过运行一个批处理bat文件,在所有驱动器根目录中找到某个指定的文件夹(如pe文件夹),并进入该文件夹。

请高手帮忙两个问题各写一个批处理bat文件!谢谢!
2#
 楼主| 发表于 2010-1-25 14:53:41 | 只看该作者
这个问题发到这儿如何不符合版规的话,请版主删除,我在dos区发了。
回复

使用道具 举报

3#
发表于 2010-1-25 14:55:24 | 只看该作者
1、通过运行一个批处理bat文件,找到u盘盘符,并进入u盘根目录。
据我所知,好像cmd的内部命令很难判断哪个是u盘,所以最好是在u盘上放一个特殊的文件或者文件夹
比如 \flag\iamhere.flg
那问题就简单了


@echo off
for %%a in (z y x w v u t s r q p o n m l k j i h g f e d c) do if exist %%a:/flag/iamhere.flg cd /d %%a\ && goto next
:next
....


2、通过运行一个批处理bat文件,在所有驱动器根目录中找到某个指定的文件夹(如pe文件夹),并进入该文件夹。


for %%a in (z y x w v u t s r q p o n m l k j i h g f e d c) do if exist %%a:\pe\nul cd /d %%a:\pe && goto next
:next
...
回复

使用道具 举报

4#
发表于 2010-1-25 15:28:53 | 只看该作者
PE下并不保证能识别U盘,也并不保证能分配盘符。
@echo off
    set "var1=fsutil fsinfo drives"
    set "var2=fsutil fsinfo drivetype"
    for /f "delims=驱动器:\ " %%a in ('%var1%^|more') do (
    for /f "delims=:" %%i in ('%var2% %%a: ^| find/i "可移动驱动器"') do (
    call set "pan=%%pan%%%%i"
    ))
    set "u=%pan:~-1%"
    echo.&echo 你的U盘盘符是 %u% 盘
    pause>nul
回复

使用道具 举报

5#
 楼主| 发表于 2010-1-25 15:55:44 | 只看该作者
谢谢两位指点,学习了。
回复

使用道具 举报

6#
发表于 2010-1-27 20:56:10 | 只看该作者
获取各个分区的大小,小于16G,就假定那是U盘等移动存储。
回复

使用道具 举报

7#
发表于 2010-1-28 02:19:26 | 只看该作者

回复 #6 快雪时晴 的帖子

这个方法是不行滴

首先光盘就肯定是少于16G的
其次像偶就经常在硬盘的最后放1、2个小于16G的分区(备份,fat16等用途)
再次,u盘也不一定就小鱼16G
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 10:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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