Board logo

标题: [求助]谁能帮忙解释一下以下代码是什么意思 [打印本页]

作者: akinlau     时间: 2010-3-3 00:14    标题: [求助]谁能帮忙解释一下以下代码是什么意思

@echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%i
set drive=!var:~-2!
fsutil fsinfo drivetype !drive!|find "固定">nul && del /a /f /s !drive!\_desktop.ini
)
pause

在网上找到了这个批处理文件,在电脑上试了一下,有些电脑能用,但是有些电脑用不了,在这里想问一下这个批处理里的set drive=!var:~-2!是什么意思,还有find "固定">nul 是什么意思这里的“固定”一定用中文吗能用英文吗(或者说在英文的系统或繁体中文的系统里用固定行吗)和find /v ""'跟find /v "\\"'有什么不同,希望大家能帮忙解答一下,谢谢!

[ Last edited by akinlau on 2010-3-3 at 00:18 ]
作者: Hanyeguxing     时间: 2010-3-3 01:10
set drive=!var:~-2!
用来截取后变量var的后2个字符并赋值给变量drive
find "固定">nul用来筛选fsutil fsinfo drivetype !drive!中包含"固定"两个字的行.筛选什么取决于fsutil fsinfo drivetype !drive!|的输出内容和需要.
find /v ""'
在这里是用来fsutil fsinfo drives的输出换行输出.至于""中的内容,只要是'fsutil fsinfo drives输出里没有的,或者直接使用空,都可以.

在这个批处理中,主要是使用 fsutil 来查询硬盘驱动器,在实际使用中使用
WMIC Path Win32_LogicalDisk Get Description^,DeviceID^,FileSystem /format:csv^|find /i "固定"
会更显得简单