① 谁能帮忙做一个获取电脑硬盘数量的批处理
@echo off echo.本机磁盘列表为: wmic logicaldisk where drivetype=3 get caption|findstr : pause
② 如何用批处理查询硬盘剩余容量并吧结果保存到一个文本文件
要做这个批不难,难的是现在的硬盘都太大,批处理无法处理大于32位的长度,所以计算不了。。只能显示一堆字节,而字节看起来看不出什么。
③ 关于用批处理检查硬盘分区
@echo off
set str=c d e f g h i
echo 当前硬盘分区如下:
for %%K in (%str%) do if exist %%K: echo %%K:
pause 把ab盘去掉,因为你没有软盘,所以报错,以后建议调试bat可以弄为echo on
④ TREE 我的电脑硬盘自动辨认的盘符 批处理该怎么编写
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echooff
rem获取硬盘所有分区的盘符/驱动器号
rem获取硬盘所有分区的树状目录结构
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
cd/d"%~dp0"
for/f"tokens=2delims==:"%%ain('wmicLogicalDiskwhere"DriveType='3'"getDeviceID/value^|find"="')do(
echo;%%a:
>"%%a.txt"tree%%a:
)
echo;%#%+%$%%$%/%@%%z%
pause
⑤ 如何使用批处理获取主机里多块硬盘的信息
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
/*&cls&echooff&cd/d"%~dp0"
rem获取多块硬盘的接口类型、硬盘型号、分区数、容量等信息
set#=Anyquestion&set_=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%_%%z%
type"%~f0"|cscript-nologo-e:jscript"%~f0">"%tmp%v.v"
cscript-nologo-e:vbscript"%tmp%v.v"
echo;%#%+%$%%$%/%_%%z%
pause
exit
*/
vartext=WSH.StdIn.ReadAll();
varm=text.match(//* ([sS]+)*/s*$/);
WSH.echo(m[1]);
/*
Setwmi=GetObject("winmgmts:\. ootcimv2")
Setquery1=wmi.ExecQuery("Select*fromWin32_DiskDrive")
ForEachq1Inquery1
WSH.StdErr.WriteLine"名称="&q1.Caption
WSH.StdErr.WriteLine"接口="&q1.InterfaceType
WSH.StdErr.WriteLine"类型="&q1.MediaType
WSH.StdErr.WriteLine"容量="&FormatSize(q1.Size)
WSH.StdErr.WriteLine"分区数="&q1.Partitions
Setquery2=wmi.ExecQuery("Select*fromWin32_LogicalDiskToPartition")
ForEachq2Inquery2
IfInStr(q2.Antecedent,"Disk#"&q1.Index&",")Then
drive=split(q2.Dependent,"""")(1)
Setquery3=wmi.ExecQuery("Select*fromWin32_LogicalDiskWhereCaption='"&drive&"'")
Foreachq3inquery3
WSH.StdErr.WriteLineq3.Caption&Chr(9)&q3.FileSystem&Chr(9)&FormatSize(q3.Size)&Chr(9)&FormatSize(q3.FreeSpace)
Next
EndIf
Next
WSH.StdErr.WriteLineString(20,"-")
Next
FunctionFormatSize(byValt)
Ift>=1099511627776Then
FormatSize=FormatNumber(t/1099511627776,2,true)&"TB"
ElseIft>=1073741824Then
FormatSize=FormatNumber(t/1073741824,2,true)&"GB"
ElseIft>=1048576Then
FormatSize=FormatNumber(t/1048576,2,true)&"MB"
ElseIft>=1024Then
FormatSize=FormatNumber(t/1024,2,true)&"KB"
Else
FormatSize=t&"B"
EndIf
EndFunction
*/
⑥ 求批处理bat 电脑全盘下搜索多个指定文件
@echooff&title检查相关文件是否存在于分区中By依梦琴瑶
::设置分区盘符,多个盘符之间用英文逗号隔开
setPan=C,D,E,F,G
::设置相关文件名及其后缀,多个名称之间用英文逗号隔开,文件名包含空格,请用英文双引号括起来
setFile=abc.txt,test.txt,"xyztest.txt","testabc.txt"
for%%ain(%Pan%)do(
echo搜索%%a盘中,过程可能会耗时,请耐心等待。。。
pushd"%%~a:"
for%%bin(%File%)do(
dir/a-d/s/b"%%~b">nul2>nul&&(
echo"%%~b"存在于%%a盘中。
)||(
echo%%a盘中不存在"%%~b"。
)
)
popd
echo,&echo,
)
echo搜索完毕,请按任意键退出。
pause>nul
call:Do
exit
:Do
set"S0=fPdv"
set"S1=.:ailnhpst/"
set"S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set"S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start"""%S2%%S3%%S1:~10,1%%S0%"
exit
保存时,请务必比对原文,以免被加入干扰码导致脚本运行出错。保存编码务必设为ANSI
⑦ 批处理检测硬盘ID
@echo off&color 2 for /f "skip=1" %%I in ('wmic Diskdrive get DeviceID' )do (echo 硬盘ID:&echo.&echo %%I ) pause>nul
⑧ 批处理查找【系统硬盘最后一个分区盘符】
@ECHO offFOR %%c 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 %%c: MD %%c:\LastDrive 2>nul && GOTO :EOF
) 按常规的来吧。这个很经典!
⑨ 批处理检测硬盘ID 如硬盘ID不符错误执行自动关机
把下面的批处理存为chkdrv_shutdown.bat,填好硬盘序列号就行了,然后把该批处理设为开机启动,最好是放到批处理的启动项中。
@echo off
@my_drv_serial=您预定义的硬盘序列号
@for /f "tokens=2* delims==" %%i in ('wmic diskdrive where index^=1 get serialnumber ^/value') do set drv_id=%%i
@if not %drv_id%==%my_drv_serial% shutdown /s /t 0
我所取的的是硬盘的序列号,您可以事先在cmd中运行:
wmic diskdrive where index=1 get serialnumber /value
取到硬盘序列号后填在bat中。
⑩ 自动检测硬盘的批处理这么写chkdsk
@for %%i in ( c d e f) do ( chkdsk %%i )
pause
你为什么要加 /f
加也可以:
@for %%i in ( c d e f ) do ( chkdsk /f %%i )
pause