Starting....
首先,我们用fsutil命令得到本地所有磁盘,运行:
fsutil fsinfo drives
得到结果如下:

有些网友一直认为C:\ D:\ E:\他们之间是空格,其实不然,他们之间的是空字符NULL,如下:
C:\>fsutil fsinfo drives>9527.txt
C:\>dumphex 9527.txt
DumpHex Version 1.0.1
Copyright (c) 2003 Robert Bachmann
00000000h: 0D 0A C7 FD B6 AF C6 F7 3A 20 43 3A 5C 00 44 3A ..驱动器: C:\.D:
00000010h: 5C 00 45 3A 5C 00 46 3A 5C 00 0D 0A \.E:\.F:\...
看到加粗的00了吗?他们之间就是以十六进制为00的NULL空字符为分隔符的,那么我们需要对它进行处理方可使用,我们可以通过两个命令完成这个操作,一个是FIND另外一个是MORE,如下:
fsutil fsinfo drives|find /v ""
fsutil fsinfo drives|more
那么我们确定每个本地磁盘的类型可以使用如下代码:
@echo off&setlocal
for /f "tokens=1*" %%a in ('fsutil fsinfo drives^|more') do (
for /f %%? in ("%%b %%a") do (
fsutil fsinfo drivetype %%?
)
)
@echo off&setlocal
for /f "tokens=1*" %%a in ('fsutil fsinfo drives^|more') do (
for /f %%? in ('echo.%%b,%%a') do (
fsutil fsinfo drivetype %%?
)
)
FSUTIL还有其他一些应用,我这里就举例说一下
@echo off&setlocal
for /f "tokens=1*" %%a in ('fsutil fsinfo drives^|more') do (
for /f "delims=\" %%? in ("%%b%%a") do (
fsutil volume diskfree %%? 2>nul
)
)
得到本地磁盘空间的统计,只适用于NTFS分区
fsutil hardlink create d:\9527.iso "D:\windows server 2008 中文版\windows server 2008 中文版.iso"
新链接和现有文件必须在同一个卷上,新建的硬连接其实就是一种快捷方式,只不过没有像普通快捷方式图标上的
小箭头,虽然从属性看他的大小和原文件相同,但它并不占用磁盘空间!!!
fsutil file createnew d:\9527.txt 1000
建立指定字节的文件,这个没什么好说的!以上是建立一个1000个字节的9527.txt文件
fsutil file setzerodata offset=2 length=4 d:\9527.txt
这个也没什么好说的,就是将指定范围内的内容替换成空格,例如上面那句,如果9527.txt文件内容如下:
helloworld
那么执行完毕后得到:
he orld
helloworld
两个比较一下,很容易理解!
C:\>fsutil file setshortname d:\9527.txt bagpipe.txt
C:\>d:
D:\>notepad bagpipe.txt
这是为指定文件设置短文件名,我们把D:\9527.TXT的短名设置成bagpipe.txt,那么我们运行notepad
bagpipe.txt就打开了9527.txt文件了,呵呵,很简单吧!
我们可以用dir/x来查看文件的短名称
D:\>dir /x *.txt
驱动器 D 中的卷没有标签。
卷的序列号是 E03E-AE1B
D:\ 的目录
2008-01-17 10:22 13 BAGPIPE.TXT 9527.txt
看到没有,哈哈.........