stefanwue Posted January 28, 2018 Share Posted January 28, 2018 (edited) Hello all i have a problem with this script i have no drives in the listbox why ???? can you help me please ? sorry fo my bad english. expandcollapse popup#include <GUIConstantsEx.au3> #include <String.au3> $File = FileOpen(@TempDir & '\lstdsk.ini', 2) FileWrite($File, 'list disk') FileClose($File) RunWait('cmd /c diskpart /s lstdsk.ini > lstdsk.txt', @TempDir, @SW_HIDE) Example() Func Example() Local $Menu1, $n1, $n2, $Msg, $Menustate, $Menutext, $File Local $Line, $Array = _StringExplode(FileRead(@TempDir & '\lstdsk.txt'), @LF) For $i = 0 To UBound($Array) - 1 If StringRegExp($Array[$i], '(?i)Disk [\d]+') Then $Line &= $Array[$i] & '|' Next $Line = StringRegExpReplace($Line, '[\s|]*$', '') ;trim spaces, returns, line breaks, and pipes from end of the string GUICreate('Select Disk To Format', 260, 250) ; will create a dialog box that when displayed is centered GUICtrlCreateLabel('Avaliable Disks', 22, 10, 100) $n1 = GUICtrlCreateList('', 20, 30, 215, 150) GUICtrlSetData(-1, $Line) $n2 = GUICtrlCreateButton('Select This Disk to Format', 28, 200, 200) GUICtrlSetState(-1, $GUI_FOCUS) ; the focus is on this button GUISetState() ; will display an empty dialog box ; Run the GUI until the dialog is closed Do $Msg = GUIGetMsg() If $Msg = $n2 Then Local $Disk = StringRegExpReplace(GUICtrlRead($n1), '(?i)^.*(Disk [\d]+).*$', '$1') Local $iMsgBoxAnswer $iMsgBoxAnswer = MsgBox(262452, 'Selected Drive To Format is: ' & $Disk, 'Proceed with Format of ' & $Disk & '?') Select Case $iMsgBoxAnswer = 6 ;Yes _Format($Disk) Case $iMsgBoxAnswer = 7 ;No EndSelect EndIf Until $Msg = $GUI_EVENT_CLOSE EndFunc ;==>Example Func _Format($Drive) GUISetState(@SW_HIDE) Local $String, $Text = 'This is the script that you can send to diskpart' & @LF & 'The file is located at: ' & @TempDir & '\format.txt' $String &= 'Select ' & $Drive & @CRLF $String &= 'Clean' & @CRLF $String &= 'Create Partition Primary' & @CRLF $String &= 'Select Partition 1' & @CRLF $String &= 'Format fs=NTFS Quick' & @CRLF $String &= 'Active' & @CRLF $String &= 'Exit' $File = FileOpen(@TempDir & '\format.txt', 2) FileWrite($File, $String) FileClose($File) ShellExecute(@TempDir & '\format.txt', '', '', 'open') MsgBox(262144, 'Diskpart Script Created for ' & $Drive, $Text) GUISetState() EndFunc ;==>_Format Edited January 28, 2018 by stefanwue Link to comment Share on other sites More sharing options...
HankHell Posted January 28, 2018 Share Posted January 28, 2018 (edited) well, diskpart is ran from a separate shell... the way I got around it was to offload it to a new .txt document in %temp%, then run the script using diskpart /s location ...mind you it's .bat code taken from :List_HDD echo.>"%temp%\FixerUpperListDisk.txt" echo list volume > "%temp%\FixerUpperListDisk.txt" diskpart /s "%temp%\FixerUpperListDisk.txt" > "%temp%\FixerUpperDiskpartListDisk.txt" type "%temp%\FixerUpperDiskpartListDisk.txt" echo. del /f "%temp%\FixerUpperListDisk.txt" del /f "%temp%\FixerUpperDiskpartListDisk.txt" goto Skip_CLS_Partition_Manager Edited January 28, 2018 by HankHell Link to comment Share on other sites More sharing options...
careca Posted January 28, 2018 Share Posted January 28, 2018 1 hour ago, stefanwue said: i have no drives in the listbox why? I do, your script works fine here. try #requireadmin Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
Earthshine Posted January 29, 2018 Share Posted January 29, 2018 https://www.autoitscript.com/autoit3/docs/functions/DriveGetDrive.htm i don't know wtf you are doing..... My resources are limited. You must ask the right questions Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now