[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 多个硬盘下如何判断系统当前在哪个硬盘

本帖最后由 pcl_test 于 2017-7-7 17:26 编辑

需求如下:
在电脑上接入多个硬盘,批量对所有硬盘进行整盘擦除操作,然后做报废处理,中间当然不能对正在运行的操作系统的硬盘做处理。
现在本人写了一段BAT程序调用第三方软件达到了硬盘擦除的功能,但是不知道如何来判断某个硬盘是否有正在运行操作系统。

如果存在则跳过对这块硬盘擦除的操作,否则就进行擦除操作。

求一段代码来判断硬盘有运行的操作系统。

请个为大神赐教, 谢谢!

HOMEDRIVE

HOMEDRIVE
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

  1. if not "需要判断的盘"=="%SystemDrive%" 擦除
复制代码

TOP

本帖最后由 523066680 于 2017-7-7 17:27 编辑

题主有说多个硬盘,
比如其他电脑上的硬盘接过来,现在有两个硬盘,各有N个分区,各有1-2个系统分区的那种……

判断是可以判断的,交给热心用户吧

TOP

回复 4# 523066680


    呃,这种情况倒没见过

TOP

把你的代码发出来看看,我试试帮你加个判断。
测试代码之前请做好备份

TOP

回复 6# ShowCode

这是三个模块,现在就是要手动擦除和自动全部硬盘的时候能判断跳过运行操作系统的硬盘的。
@echo off
echo                            ***********正在获取磁盘信息***********  
echo.
::del %USERPROFILE%\Desktop\disktools\diskinfo.txt /q > nul
"%USERPROFILE%\Desktop\disktools\gdisk32.exe"
setlocal enabledelayedexpansion
for /f "skip=1 tokens=1 delims= " %%i in ('%USERPROFILE%\Desktop\disktools\gdisk32.exe') do (set num=!num! %%i)
::echo !num!

echo                           ***********正在擦除磁盘信息***********
echo.
del %USERPROFILE%\Desktop\disktools\wipeinfo.txt /q > nul
echo 磁盘编号为:!num!
for %%j in (%num%) do (%USERPROFILE%\Desktop\disktools\gdisk32.exe %%j /diskwipe /dodwipe >> %USERPROFILE%\Desktop\disktools\wipeinfo.txt)
echo 完成!
pause

echo.
set /p select=请输入:
::擦除单个磁盘
echo %select% | findstr "%num%" > nul && (%USERPROFILE%\Desktop\disktools\gdisk32.exe %select% /diskwipe /dodwipe > %USERPROFILE%\Desktop\disktools\wipeinfo.txt) || (echo "输入错误!请重新输入" & goto lp)
pause

TOP

回复 3# a2002


    如果结果的硬盘是其他电脑系统盘,会不会也有%SystemDrive%?

TOP

%SystemDrive%是你当前所在系统的环境变量。别的硬盘和你所在的系统没任何关系。

TOP

返回列表