标题: [文本处理] 【还有问题】批处理BAT如何把得到的字符自动填写到相应位置? [打印本页]
作者: yuanyong911 时间: 2014-4-15 18:28 标题: 【还有问题】批处理BAT如何把得到的字符自动填写到相应位置?
fsutil fsinfo drives
for %%d in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%d:\123.exe set ccc=%%d:\
想实现 fsutil fsinfo drives 输出的结果 去掉 驱动器: 和 :\ 剩下的结果 替换 掉 c d e f g h i j k l m n o p q r s t u v w 部分
=====================================================================================================
按照 六楼 apang 老大的方法 得出的结果的确是对的 但有个问题 在运行这段批处理时 会 弹出 错误信息 有没有什么好办法 屏蔽 这些弹窗 多谢了!
作者: yuanyong911 时间: 2014-4-15 18:35
好着急 研究一天了!
作者: DAIC 时间: 2014-4-15 19:21
- @echo off
- for /f "tokens=1*" %%i in ('fsutil fsinfo drives') do (
- set str=%%j
- )
- set str=%str::\=%
- for %%d in (%str%) do (
- if exist %%d:\123.exe (
- set ccc=%%d:\
- )
- )
复制代码
作者: yuanyong911 时间: 2014-4-15 19:29
DAIC 发表于 2014-4-15 19:21
大神 非常非常 感谢您 我试过了 成功了!太牛了您!不过现在还有一个问题 就是 fsutil fsinfo drives 这个命令会获取 全部盘符 有没有 仅获得 硬盘 盘符 的命令呢 真的多谢您!
作者: yuanyong911 时间: 2014-4-16 09:37
有高手吗很着急
作者: apang 时间: 2014-4-16 10:28
- @echo off
- (for /f "delims=" %%a in ('fsutil fsinfo drives^|more') do (
- set "a=%%a"
- setlocal enabledelayedexpansion
- for %%b in (!a:驱动器: ^=!) do fsutil fsinfo drivetype %%~db
- endlocal
- ))>"%~dp0$"
- for /f %%a in ('find "固定" ^< "%~dp0$"') do (
- if exist %%a\123.exe set "ccc=%%a\"
- )
- del "%~dp0$"
- echo,%ccc%
- pause
复制代码
作者: yuanyong911 时间: 2014-4-16 11:20
apang 发表于 2014-4-16 10:28
测试成功 超级感谢 非常给力 牛!
作者: yuanyong911 时间: 2014-4-17 09:24
回复 6# apang
按照老大的方法 得出的结果的确是对的 但有个问题 在运行这段批处理时 会 弹出 错误信息 有没有什么好办法 屏蔽 这些弹窗 多谢了!
作者: terse 时间: 2014-4-17 12:32
什么情况 wmi 试呢- @echo off
- for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype='3'" get name') do (
- for %%b in (%%a) do echo %%b&if exist %%b\123.exe set ccc=%%b\
- )
- echo;%ccc%
- pause
复制代码
作者: yuanyong911 时间: 2014-4-17 20:51
回复 9# terse
多谢高手 我试试
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |