Hac*_*koo 2 powershell batch-file
\n\n\n\n\n\n\n
CHKDSK当我的机器重新启动时运行,并显示一些内容。\n 问题是我不知道它显示什么,因为它在完成后继续\n 重新启动机器。如何让它停止、暂停或以其他方式让我看看它做了什么?chkdsk 无法运行,因为该卷正被另一个进程使用意味着\n ?,CHKDSK 需要对磁盘\xe2\x80\x99s 进行独占访问,检查\xe2\x80\x99s\n 是否已被指示尝试修复或修复。如果该磁盘是您的 Windows 驱动器 (C:),则 CHKDSK 可以具有独占访问权限,因为 Windows 仅使用该驱动器来运行您的系统。
\n
当我们重新启动时,CHKDSK 在 Windows 加载之前执行。
\n\n\n\nCHKDSK像平常一样运行,完成后,它会重新启动系统 \xe2\x80\x93,这当然会导致屏幕上可能显示的任何进度或结果消失。
为了创建一个有用的工具来维护我的硬盘,以检查、修复和修复它们的错误。
\n\n我做了这批
\n\n@echo off\nTitle Check Disk drives for errors and fix them by Hackoo 2016\nmode con cols=67 lines=5 & Color 0A\n:::::::::::::::::::::::::::::::::::::::::\n:: Automatically check & get admin rights\n:::::::::::::::::::::::::::::::::::::::::\nset "TmpLog=%Tmp%\\TmpLog.txt"\nset "Log=%~dp0%computername%_%~n0.txt"\nIf Exist "%TmpLog%" Del "%TmpLog%"\nIf exist "%Log%" Del "%Log%"\nREM --> Check for permissions\nReg query "HKU\\S-1-5-19\\Environment" >nul 2>&1\nREM --> If error flag set, we do not have admin.\nif \'%errorlevel%\' NEQ \'0\' (\nEcho.\nECHO **************************************\nECHO Running Admin shell... Please wait...\nECHO **************************************\n\n goto UACPrompt\n) else ( goto gotAdmin )\n\n:UACPrompt\n echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\\getadmin.vbs"\n set params = %*:"=""\n echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\\getadmin.vbs"\n\n "%temp%\\getadmin.vbs"\n del "%temp%\\getadmin.vbs"\n exit /B\n\n:gotAdmin\n::::::::::::::::::::::::::::\n:: START ::\n::::::::::::::::::::::::::::\n( Echo Scan started @ & Date /T & Time /T & echo ************************ ) > "%TmpLog%"\nsetlocal ENABLEDELAYEDEXPANSION\nfor /f "tokens=2" %%i in (\'wmic logicaldisk where "drivetype=3" ^|find /i ":"\') do (\n set "fix=%%i"\n Call :Affich !fix!\n (\n echo !fix! Drive \n echo ************************\n echo(\n (echo O\n echo Y) | CHKDSK !fix! /f \n echo(\n echo ************************\n )>> "%TmpLog%"\n)\nEndLocal\nGoto Question\nExit /b\n\n:Question\n( echo Scan finished @ & Date /T & Time /T & echo ************************ )>> "%TmpLog%"\nCMD /U /C Type "%TmpLog%" > "%Log%"\nIf Exist "%TmpLog%" Del "%TmpLog%"\n(\n echo Answ = MsgBox("Did you want to reboot the computer to complete the scanning ?",VbYesNo+VbQuestion,"Reboot the computer to check hard disk drives for errors by Hackoo"^)\n echo If Answ = VbYes then \n echo wscript.Quit(0^)\n echo Else\n echo wscript.Quit(1^)\n echo End If\n)>"%tmp%\\%~n0.vbs"\n\nCscript /nologo "%tmp%\\%~n0.vbs"\nIF "%errorlevel%" EQU "1" (start "" "%Log%" & Exit ) else (goto Shutdown)\n\n:Shutdown \necho(\ncls\necho(\necho Save your work - Reboot of your computer in 20 seconds\necho(\necho Enregistrer vos documents - Redemarrage du PC dans 20 seconds \nShutdown.exe /r /t 20 /c "Enregistrer vos documents - Redemarrage du PC dans 20 secondes"\nstart "" %Log%\npause>nul\nexit /b\n\n:Affich\nCls\necho(\necho ***********************************\nEcho Please wait a while Scanning "%~1"\necho ***********************************\nTimeout /T 2 /nobreak>nul\nexit /b\nRun Code Online (Sandbox Code Playgroud)\n\n所以,我的问题是:我如何获得通过批处理或 powershell 启动时运行的结果?CHKDSK
该信息记录在事件日志中。您应该能够像这样获取它(使用 PowerShell):
Get-EventLog -LogName Application -Source Wininit |
Where-Object { $_.Message -like '*checking file system*' } |
Sort-Object TimeGenerated -Descending |
Select-Object -First 1 -Expand Message
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2149 次 |
| 最近记录: |