Sommario:

VBScript che lavora con le unità montate: 6 passaggi
VBScript che lavora con le unità montate: 6 passaggi

Video: VBScript che lavora con le unità montate: 6 passaggi

Video: VBScript che lavora con le unità montate: 6 passaggi
Video: Come farsi un Computer con meno di 100 euro (Digital Divide) 2024, Dicembre
Anonim
VBScript che lavora con le unità montate
VBScript che lavora con le unità montate
VBScript che lavora con le unità montate
VBScript che lavora con le unità montate

Questo istruibile è su richiesta. Molti di voi potrebbero riconoscerlo da una precedente istruzione che avevo fatto che era https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/. Bene, in quello che techwiz24 mi ha chiesto, potresti usarlo per disconnettere un'unità di rete, visualizzare un'immagine e quindi chiedere di riconnettere l'unità di rete? e per unità di rete, intendo un HDD esterno. Quando si riconnette, ne ho bisogno anche per nominare l'HDD esterno, come HDD1e. Posso ottenere tutto tranne i comandi CMD per questo. Penso che tu possa usare diskpart, ma non ne sono sicuro, beh, gli ho detto che ci avrei lavorato e avrei creato un nuovo istruibile se l'avessi capito. Bene, l'ho capito. Quindi eccolo qui. Se non hai letto il mio tutorial precedente lo puoi trovare qui. https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/ Suggerirei di leggerlo prima di leggere questo se non l'hai ancora letto poiché la maggior parte delle cose sarà la stessa e non recupererò le basi. E perché lemonie si è lamentato in uno dei miei altri istruttori che "Volendo visualizzare gli sfondi ripetutamente lo fai sembrare piuttosto brutto. L'uso di ALT-Print Screen mostrerebbe meglio le finestre di dialogo". Ho deciso che non avrei messo nessuna immagine che in realtà avesse qualcosa a che fare con l'istruibile poiché l'istruibile non è comunque una cosa visiva e le immagini non lo avrebbero né danneggiato né aiutato, quindi perché prendersi il tempo per fare in modo che lo schermo catturi proprio così qualcuno può lamentarsi del fatto che non li ho schermati correttamente. Quindi in questo ogni scelta sarà uno sfondo che mi piace e frega se sembra brutto o no !!!

Passaggio 1: ricerca

Ricerca
Ricerca
Ricerca
Ricerca

La prima cosa che dobbiamo fare è scoprire il GUID del disco rigido che vogliamo rimuovere. Il GUID è un identificatore univoco globale. Ciò che fa è consentire al computer di trovare un disco rigido specifico, indipendentemente dalla lettera di unità assegnata. Un modo semplice per farlo è aprire una finestra CMD e digitare "MOUNTVOL"

Questo farà apparire la pagina di aiuto per Mountvol. Se guardi in fondo all'elenco, dovrebbe mostrare tutti i dischi rigidi disponibili, le loro lettere di unità e i loro percorsi. Facendo questo sul mio ho raccolto queste informazioni: crea, elimina o elenca un punto di montaggio del volume. MOUNTVOL [unità:]percorso NomeVolume MOUNTVOL [unità:]percorso /D MOUNTVOL [unità:]percorso /L percorso Specifica la directory NTFS esistente in cui risiederà il punto di montaggio. VolumeName Specifica il nome del volume che è la destinazione del punto di montaggio. /D Rimuove il punto di montaggio del volume dalla directory specificata. /L Elenca il nome del volume montato per la directory specificata. I valori possibili per VolumeName insieme ai punti di montaggio correnti sono: \?\Volume{6ad2db35-4ab2-11de-964e-806d6172696f}\ C:\ \?\Volume{6ad2db33-4ab2-11de-964e-806d6172696f}\ D: / \?\Volume{6ad2db34-4ab2-11de-964e-806d6172696f}\ E:\ \?\Volume{b76a1f58-662f-11de-8a61-001111cb3c76}\ F:\ \?\Volume{6ad2db32-4ab2 -11de-964e-806d6172696f}\ A:\ \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ G:\ _ Ora se guardi in fondo alla lista vedrai un mucchio di gobbledygook che inizia con \?\volume e termina con una lettera di unità. Questo è ciò di cui abbiamo bisogno! Ok, allora scomponiamo quello che abbiamo qui: abbiamo il volume rappresentato da \?\volume, quindi abbiamo una parentesi graffa, quindi un gruppo di numeri, lettere e trattini. I numeri lettere e trattini sono in realtà il GUID per l'unità in questione, quindi abbiamo un'altra parentesi graffa, quindi una barra rovesciata e la lettera dell'unità. Quindi dovrebbe essere abbastanza facile da seguire. Quindi nel mio computer ho \?\Volume{6ad2db35-4ab2-11de-964e-806d5172696f}\ C:\ questo è il mio disco rigido principale per il computer \?\Volume{6ad2db33-4ab2-11de-964e-806d5172696f }\ D:\ Qual è un masterizzatore di dvd \?\Volume{6ad2db34-4ab2-11de-964e-806d5172696f}\ E:\ Un altro masterizzatore di dvd \?\Volume{b76a1f58-662f-11de-8a61-001114cb3c76}\ F:\ Un falso dvd in modo da poter montare i file ISO creati dal mio un programma Daemon Ho \?\Volume{6ad2db32-4ab2-11de-954e-806d6172696f}\ A:\ Un floppy drive 3.5…. Sì, lo so, ma purtroppo li uso ancora ogni tanto. \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ G:\ Questo qui è l'unità in questione che voglio rimuovere In questo caso è in realtà un'unità di salto da 128 mega che ho usato per i test. In questo modo, se l'ho inculato, non ho perso un disco rigido o qualcosa del genere.

Passaggio 2: utilizzo di Mountvol

Utilizzo di Mountvol
Utilizzo di Mountvol
Utilizzo di Mountvol
Utilizzo di Mountvol

Ok, ora che abbiamo il GUID possiamo usarlo per montare e smontare l'unità in questione Ora prima di andare a fare tutto il lavoro di scrittura di uno script, vogliamo assicurarci che funzioni e che sia l'unità corretta. g drive è l'unità con cui sto lavorando, quindi il mio dirà g:\ tuttavia è necessario inserire la lettera dell'unità dell'unità con cui si sta lavorando. lo stesso con il GUID, poiché è unico per ogni unità e il tuo NON sarà lo stesso del mio. Fondamentalmente useremo solo un interruttore di cancellazione "/d" per eliminare il punto di montaggio, quindi utilizzare il comando di montaggio per rimontarlo usando il guid come riferimento al disco smontato. Quindi fai apparire un prompt cmd andando su run e digitando cmdat il prompt digita:mountvol g:\ /dnow quando digitiamo mountvol nel prompt tutto è lo stesso tranne che ora dice: \?\ Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ *** NESSUN PUNTO DI MONTAGGIO ***invece di \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ G:\Questo è buono significa che noi rimosso quello che volevamo. Ora dobbiamo rimontarlo Digita questo al prompt del comando:mountvol g: \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\e poi digita mountvol ancora una volta e tutto dovrebbe tornare come prima Il contesto per riabilitare l'unità è il seguente: la parola mountvol seguita da uno spazio, quindi la lettera dell'unità e due punti seguiti da uno spazio, quindi una barra rovesciata barra rovesciata punto interrogativo barra rovesciata quindi la parola volume quindi una parentesi graffa aperta quindi il GUID quindi una chiusura parentesi graffa e poi barra rovesciata

Passaggio 3: lavorare con le etichette

Lavorare con le etichette
Lavorare con le etichette
Lavorare con le etichette
Lavorare con le etichette

Ora parte di ciò che techwiz24 mi ha chiesto è stato quando si riconnette, ne ho anche bisogno per nominare l'HDD esterno, come HDD1e.

Per farlo usiamo semplicemente il comando label è abbastanza semplice Basta aprire una finestra di comando come l'ultima volta e digitare: g: Questo cambierà la tua directory in g:> Quindi digita vol e non prendere l'etichetta del volume Quindi digita semplicemente label e come vuoi che si chiami quindi se volessi dare un nome al mio disco rigido bobby scriverei: label bobby Quindi digita di nuovo vol e mostrerà il nuovo nome del volume è bobby Ora funziona solo se stai lavorando nella directory del volume che si desidera modificare, tuttavia quando creiamo il nostro script non vogliamo cambiare directory, quindi cambiare volume, quindi dovremmo semplicemente digitare: label g: bobby Ti ho detto che era semplice.

Passaggio 4: aggiungere ciò che abbiamo imparato allo script

Aggiungere ciò che abbiamo imparato allo script
Aggiungere ciò che abbiamo imparato allo script
Aggiungere ciò che abbiamo imparato allo script
Aggiungere ciò che abbiamo imparato allo script

Ok, ora creiamo il nostro script come prima, ma invece di usare i comandi ipconfig useremo i comandi mountvol. Ecco il codice per disabilitare l'unità: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "mountvol g:\ /d{enter}"_Dovresti capire tutto questo finora dai nostri piccoli testEcco il codice per aprire un'immagine come voleva e chiudere la prima finestra del prompt dei comandi: wscript.sleep 2000shellobj.sendkeys "c:\3.jpg{enter}exit{enter}"_Come puoi vedere puoi aggiungere più comandi a una riga finché la finestra è ancora aperta. Aspetterà l'esecuzione dell'ultimo comando prima di avviare il successivo. Ecco il codice per le finestre a comparsa in modo che lo script rimanga in esecuzione fino a quando non riattiverai l'unità: Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Ritorna indietro on", 65, "Riaccendi l'unità")wendmsgbox("Ora riaccenderemo il disco rigido!!!")_Nota che impostando la variabile Myvar = su 2 che è il valore del pulsante di annullamento nella finestra di messaggio eseguiremo un ciclo continuo fino a quando non verrà premuto il pulsante ok. Questo ci costringe a fare clic su Sì per terminare lo script. Solo dopo aver premuto yes il valore myval cambia in 1 e consente l'interruzione del ciclo, quindi continua lo script e visualizza la finestra di messaggio che dice che l'unità verrà riattivata. Ora, se ricordi da prima, non eseguirà il comando successivo fino a quando l'ultimo comando non sarà terminato, quindi fino a quando non verrà premuto il pulsante ok sulla finestra di messaggio non verrà intrapresa alcuna azione. Sì, potremmo semplicemente utilizzare la finestra dei messaggi per riattivare l'unità, ma se non lo desideri ancora abilitato, ma fai clic accidentalmente su OK, non c'è alcuna protezione. Con la casella sì/no non hai altra scelta che fare clic su sì. Potremmo sbarazzarci della finestra di messaggio aggiuntiva, ma mi piace avere una conferma che l'azione è stata intrapresa. Ora arriviamo al punto in cui vengono eseguite le operazioni di rimontaggio, etichettatura e pulizia. Penseresti bene che questo sia semplice ma non lo è. Se noti che ogni volta che vogliamo inserire un tasto Invio o Tab nella nostra riga sendkeys, digitiamo semplicemente {ENTER}. La ragione di ciò è perché vede { e } come caratteri speciali. Quindi se usiamo le parentesi quadre come sono stampate nel guid {c0ea045c-56fe-11de-8a5a-001111cb3c76} il comando sendkeys premerà in pratica il pulsante c0ea045c-56fe-11de-8a5a-001111cb3c76. Poiché non esiste un pulsante del genere, il nostro script si arresterebbe in modo anomalo e quindi non ci sarebbe un'unità rimontata. Quindi, come possiamo aggirarlo? Beh, ironia della sorte, la risposta è tra parentesi. Poiché tutto ciò che è all'interno delle parentesi graffe aperte e chiuse verrà essenzialmente inviato come tasto premuto, mettiamo semplicemente la parentesi che vogliamo all'interno delle parentesi graffe aperte e chiuse. Quindi un'apertura sarebbe {{} e una chiusura sarebbe {}} Quindi ora la fine del nostro codice sarebbe simile a questa:shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "mountvol g: \?\Volume{ {}c0ea045c-56fe-11de-8a5a-001111cb3c76{}}\{enter}label g: HDD1e{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}"

Passaggio 5: lo script completato

La sceneggiatura completata
La sceneggiatura completata
La sceneggiatura completata
La sceneggiatura completata

Ecco lo script completato senza interruzioni che puoi semplicemente inserire direttamente nel tuo script ed essere fatto con esso. Devi reindirizzare la riga che fa riferimento all'immagine a un'immagine che desideri in una directory che desideri, ma ricorda di non utilizzare una directory sul volume che stai rimuovendo o si arresterà in modo anomalo perché non la troverà nella directory. Ricorda inoltre che devi cambiare le lettere di unità e il GUID con quelli effettivi poiché riflettono i miei e potrebbero causare problemi al tuo sistema. Cerca le righe Rem prima della riga che devi modificare e dovresti essere a posto:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200rem cambia la riga seguente per riflettere la lettera di unità del tuo driveshellobj.sendkeys "mountvol g:\ /d{enter}"wscript.sleep 2000rem cambia la seguente riga per riflettere il nome effettivo e la directory dell'immagine che stai usandoshellobj.sendkeys "c:\3.jpg{enter}exit{enter} "Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Riaccendi l'unità", 65, "Riaccendi l'unità")wendmsgbox ("Ora riattiveremo il disco rigido!!!")shellobj.run "cmd"wscript.sleep 200rem cambia il GUID con il tuo GUID effettivo e le lettere dell'unità (entrambe) con la lettera rem dell'unità effettiva e l'etichetta con qualsiasi etichetta in cui desideri che l'unità sia etichettata shellobj.sendkeys "mountvol g: \?\Volume {{}c0ea045c-56fe-11de-8a5a-001111cb3c76{}}\{enter}label g: HDD1e{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}"

Passaggio 6: nessun passaggio, in realtà solo un commento

Nessun passaggio, davvero solo un commento
Nessun passaggio, davvero solo un commento

beh spero di esserti stato d'aiuto… Se qualcosa non è spiegato abbastanza bene fammi sapere e cercherò di spiegare meglio. E spero che a tutti siano piaciuti gli sfondi. No non li ho fatti io… sono tutti quelli che ho trovato in rete.

NOTA:: se qualcuno ha delle lamentele sul mio istruibile, si prega di inoltrarle a [email protected]. Voglio dire seriamente, pensi davvero che me ne freghi di quello che pensi? Se non vuoi imparare qualcosa allora non farlo, se lo fai allora fallo, ma non essere un cretino e non lamentarti perché le immagini non essenziali non sono formattate correttamente o qualunque altra causa francamente NON MI INTERESSA!!!

Consigliato: