İçindekiler:

Takılı Sürücülerle VBScript Çalışması: 6 Adım
Takılı Sürücülerle VBScript Çalışması: 6 Adım

Video: Takılı Sürücülerle VBScript Çalışması: 6 Adım

Video: Takılı Sürücülerle VBScript Çalışması: 6 Adım
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Kasım
Anonim
Monte Edilmiş Sürücülerle Çalışan VBScript
Monte Edilmiş Sürücülerle Çalışan VBScript
Monte Edilmiş Sürücülerle Çalışan VBScript
Monte Edilmiş Sürücülerle Çalışan VBScript

Bu talimat istek üzerinedir. Birçoğunuz bunu, https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/ olan daha önce yaptığım bir talimattan tanıyabilir. Bir techwiz24 bana bunu bir ağ sürücüsünün bağlantısını kesmek, bir resim görüntülemek ve ardından ağ sürücüsünü yeniden bağlamak için kullanabilir misiniz diye sordu. ve ağ sürücüsü ile, harici bir hdd'yi kastediyorum. Yeniden bağlandığında, HDD1e gibi harici hdd'yi de adlandırmam gerekiyor. Bunun için CMD komutları dışında her şeyi alabilirim. Diskpart'ı kullanabileceğinizi düşünüyorum, ancak emin değilim, Ona üzerinde çalışacağımı ve çözersem yeni bir talimat oluşturacağımı söyledim. Neyse anladım. İşte burada. Önceki talimatımı okumadıysanız, burada bulabilirsiniz. https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/ Henüz okumadıysanız, bunu okumadan önce okumanızı öneririm çünkü çoğu şey aynı olacak ve temel bilgileri geri almayacağım. Ve limonie diğer talimatlarımdan birinde "Duvar kağıtlarını tekrar tekrar görüntülemek istediğinizde bunu oldukça kötü gösteriyorsunuz. ALT-Baskı Ekranını kullanmak diyalog kutularını daha iyi gösterecektir" diye şikayet ettiğinden. Eğitilebilir olan görsel bir şey olmadığı ve resimler ona ne zarar verecek ne de yardımcı olacağından, öğretilebilir ile gerçekten ilgisi olan herhangi bir resim koymamaya karar verdim, bu yüzden neden screan yakalamaları yapmak için zaman ayırıyorsunuz? Birisi onları doğru bir şekilde kapatmadığımdan şikayet edebilir. Yani bu seçimde her seçim, beğendiğim bir arka plan duvar kağıdı olacak ve kötü görünüyorsa vidalanacak!

Adım 1: Araştırma

Araştırma
Araştırma
Araştırma
Araştırma

Yapmamız gereken ilk şey, çıkarmak istediğimiz sabit sürücünün GUID'ini bulmak. GUID, Global Olarak Benzersiz bir Tanımlayıcıdır. Bunun yaptığı şey, hangi sürücü harfine atanmış olursa olsun bilgisayarınızın belirli bir sabit sürücüyü bulmasını sağlamaktır. Bunu yapmanın kolay bir yolu, bir CMD penceresi açmak ve "MOUNTVOL" yazmaktır.

Bu, Mountvol için yardım sayfasını getirecektir. Listenin alt kısmına bakarsanız, mevcut tüm sabit sürücüleri, sürücü harflerini ve yollarını göstermelidir. Bunu benimkinde yaparak şu bilgiyi topladım: Bir birim bağlama noktası oluşturur, siler veya listeler. MOUNTVOL [sürücü:]yol BirimAdı MOUNTVOL [sürücü:]yol /D MOUNTVOL [sürücü:]yol /L yol Bağlama noktasının bulunacağı mevcut NTFS dizinini belirtir. VolumeName Bağlama noktasının hedefi olan birim adını belirtir. /D Belirtilen dizinden birim bağlama noktasını kaldırır. /L Belirtilen dizin için bağlanan birim adını listeler. Geçerli bağlama noktalarıyla birlikte VolumeName için olası değerler şunlardır: \?\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:\ _ Şimdi listenin sonuna bakarsanız, bir sürü saçma sapan şey göreceksiniz. \?\volume ile başlar ve bir sürücü harfi ile biter. İhtiyacımız olan budur! Tamam, şimdi elimizdekileri parçalayalım: \?\volume ile temsil edilen hacmimiz var, sonra bir küme parantezimiz, ardından bir sürü sayı, harf ve tire var. Rakamlar harfler ve tireler aslında söz konusu sürücünün GUID'idir, o zaman başka bir küme parantezimiz, ardından bir ters eğik çizgi ve sürücü harfimiz var. Yani bunu takip etmek yeterince kolay olmalı. Yani bilgisayarımda \?\Volume{6ad2db35-4ab2-11de-964e-806d5172696f}\ C:\ bu bilgisayar için ana sabit diskim var \?\Volume{6ad2db33-4ab2-11de-964e-806d5172696f }\ D:\ Hangisi bir dvd yazıcıdır \?\Volume{6ad2db34-4ab2-11de-964e-806d5172696f}\ E:\ Başka bir dvd yazıcı \?\Volume{b76a1f58-662f-11de-8a61-001114cb3c76}\ F:\ Sahte bir dvd, böylece bir Daemon programımda oluşturulan ISO dosyalarını bağlayabilirim. \?\Volume{6ad2db32-4ab2-11de-954e-806d6172696f}\ A:\ 3.5 disket sürücüm var…. Evet biliyorum biliyorum ama ne yazık ki onları hala arada bir kullanıyorum. \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ G:\ Bu, söz konusu olan ve kaldırmak istediğim sürücü Bu örnekte, aslında test için kullandığım 128meg'lik bir atlama sürücüsü. Bu şekilde, eğer onu rahatsız edersem, bir sabit diski veya başka bir şeyi kaybetmedim.

Adım 2: Mountvol'u Kullanma

Mountvol'u kullanma
Mountvol'u kullanma
Mountvol'u kullanma
Mountvol'u kullanma

Tamam, artık GUID'e sahip olduğumuza göre, onu söz konusu sürücüyü takmak ve bağlantısını kesmek için kullanabiliriz. Şimdi bir komut dosyası yazmanın tüm işlerini yapmadan ve çalıştığından ve doğru sürücü olduğundan emin olmak istiyoruz. g sürücüsü, birlikte çalıştığım sürücüdür, bu yüzden benimki g:\ diyecek, ancak uyandığınız sürücünün sürücü harfini girmeniz gerekiyor. GUID ile aynıdır, çünkü her sürücü için benzersizdir ve sizinki benimkiyle aynı OLMAYACAKTIR. Temel olarak, bağlama noktasını silmek için bir silme anahtarı "/d" kullanacağız, ardından kılavuzu kullanarak yeniden monte etmek için mount komutunu kullanacağız. Bu nedenle, komut istemini çalıştırıp cmdat yazarak bir cmd istemi açın: mountvol g:\ /dnow Komut istemine mountvol yazdığımızda, şimdi şunu yazması dışında her şey aynı: \?\ Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ *** \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76} yerine MOUNT POINTS YOK ***G:\Bu iyi, bu şu anlama geliyor: istediğimizi kaldırdık. Şimdi onu yeniden monte etmemiz gerekiyor Komut istemine şunu yazın:mountvol g: \?\Volume{c0ea045c-56fe-11de-8a5a-001111cb3c76}\ve ardından mountvol bir kez daha yazın ve her şey eski haline dönsün Sürücüyü yeniden etkinleştirme bağlamı aşağıdaki gibidir: Önce bir boşluk, ardından sürücü harfi ve iki nokta üst üste, ardından bir boşluk, ardından bir ters eğik çizgi soru işareti ters eğik çizgi, ardından sözcük birimi, ardından bir açık küme parantez, ardından GUID ve ardından bir kapanış kıvrık ayraç sonra ters eğik çizgi

3. Adım: Etiketlerle Çalışmak

Etiketlerle Çalışmak
Etiketlerle Çalışmak
Etiketlerle Çalışmak
Etiketlerle Çalışmak

Şimdi techwiz24'ün bana sorduğu şeyin bir kısmı, yeniden bağlandığında, HDD1e gibi harici hdd'yi de adlandırmam gerekiyor.

Bunu yapmak için basitçe etiket komutunu kullanıyoruz, oldukça basit. etiket ve adını ne istersen, bu yüzden sabit diskimi bobby olarak adlandırmak isteseydim şunu yazardım: label bobby Sonra tekrar vol yazın ve birimin yeni adını gösterecektir bobby Şimdi bu sadece çalışıyorsanız işe yarar hacmin dizininde değiştirmek istediğiniz ancak komut dosyamızı oluşturduğumuzda dizini değiştirmek istemiyoruz, ardından hacmi değiştiriyoruz, böylece sadece şunu yazacağız: label g: bobby Size bunun çok basit olduğunu söylemiştik.

Adım 4: Öğrendiklerimizi Komut Dosyasına Ekleme

Öğrendiklerimizi Komut Dosyasına Eklemek
Öğrendiklerimizi Komut Dosyasına Eklemek
Öğrendiklerimizi Komut Dosyasına Eklemek
Öğrendiklerimizi Komut Dosyasına Eklemek

Tamam, şimdi betiğimizi daha önce yaptığımız gibi yapıyoruz ama ipconfig komutlarını kullanmak yerine şimdi mountvol komutlarını kullanacağız. Sürücüyü devre dışı bırakmanın kodu: set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "mountvol g:\ /d{enter}"_Bütün bunları küçük testlerimizden çok uzakta anlamalısınızİşte onun istediği gibi bir resmi açıp ilk komut istemi penceresini kapatmanın kodu: wscript.sleep 2000shellobj.sendkeys "c:\3.jpg{enter}exit{enter}"_Gördüğünüz gibi, pencere açık olduğu sürece bir satıra birden çok komut ekleyebilirsiniz. Bir sonraki komutu başlatmadan önce son komutun yürütülmesini bekleyecektir. Açılır kutuların kodu, böylece komut dosyanızın siz sürücüyü yeniden etkinleştirene kadar çalışmaya devam etmesi için:Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Sürücüyü geri çevirin on", 65, "Sürücüyü tekrar aç")wendmsgbox("Şimdi Sabit diski tekrar açacağız!!!")_Myvar değişkenini = 2 olarak yaparak, mesaj kutusundaki iptal düğmesinin değeri olduğunu unutmayın. tamam düğmesine basılana kadar sürekli bir döngü çalıştıracağız. Bu, betiği bitirmek için bizi evet'e tıklamaya zorlar. Sadece evet'e basıldıktan sonra myval değeri 1 olarak değişir ve döngünün kesilmesine izin verir, böylece komut dosyasına devam edilir ve sürücünün daha sonra yeniden etkinleştirileceğini söyleyen mesaj kutusu açılır. Şimdi öncekinden hatırlarsanız, son komut bitene kadar bir sonraki komutu yapmaz, bu nedenle mesaj kutusundaki ok düğmesine basılana kadar herhangi bir işlem yapılmayacaktır. Evet, sürücüyü yeniden etkinleştirmek için mesaj kutusunu kullanabiliriz, ancak daha sonra henüz etkinleştirilmesini istemiyorsanız, ancak yanlışlıkla Tamam'ı tıklarsanız, hiçbir koruma yoktur. Evet/hayır kutusuyla evet'e tıklamaktan başka seçeneğiniz yok. Fazladan mesaj kutusundan kurtulabiliriz ama eylemin yapıldığına dair bir onay almak hoşuma gidiyor. Şimdi yeniden takma, etiketleme ve temizliğin yapıldığı yere geliyoruz. Bunun sadece düz ileri olduğunu iyi düşünürdünüz ama değil. Sendkeys satırımıza her giriş veya sekme tuşu yerleştirmek istediğimizi fark ederseniz, sadece {ENTER} yazmanız yeterlidir. Bunun nedeni { ve } karakterlerini özel karakterler olarak görmesidir. Bu nedenle, köşeli parantezleri {c0ea045c-56fe-11de-8a5a-001111cb3c76} kılavuzunda yazdırıldıkları gibi kullanırsak, sendkeys komutu aslında c0ea045c-56fe-11de-8a5a-001111cb3c76 düğmesine basacaktır. Böyle bir düğme olmadığı için betiğimiz çökecek ve sonra bizim için yeniden monte edilmiş bir sürücü olmayacak. Peki bunu nasıl aşacağız? İronik olarak cevap parantez içinde. Açık ve kapalı küme parantezleri içindeki herhangi bir şey temelde basılı bir tuş olarak gönderileceğinden, istediğimiz parantezi açık ve kapalı küme parantezlerinin içine koyarız. Yani bir açık {{} olur ve bir kapanış {}} olur, şimdi kodumuzun sonu şöyle görünür:shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "mountvol g: \?\Volume{ {}c0ea045c-56fe-11de-8a5a-001111cb3c76{}}\{enter}etiket g: HDD1e{enter}taskkill /F /IM rundll32.exe{enter}çıkış{gir}"

Adım 5: Tamamlanmış Komut Dosyası

Tamamlanmış Senaryo
Tamamlanmış Senaryo
Tamamlanmış Senaryo
Tamamlanmış Senaryo

İşte, doğrudan komut dosyanıza kaydırabileceğiniz ve onunla bitirebileceğiniz, kesintiler olmadan tamamlanmış komut dosyası. Resme referans veren satırı, istediğiniz bir dizinde istediğiniz bir resme yönlendirmelisiniz, ancak kaldırdığınız ciltte bir dizini kullanmayın, aksi takdirde dizinde bulamayacağı için çökecektir. Ayrıca, sürücü harflerini ve GUID'i gerçek harflerinizle değiştirmeniz gerektiğini unutmayın, çünkü bunlar benimkini yansıtır ve muhtemelen sisteminizi bozabilir. Değiştirmeniz gereken satırdan önceki Rem satırlarına bakın ve iyi olmalısınız: set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200rem aşağıdaki satırı sürücü harfinizi yansıtacak şekilde değiştirin. driveshellobj.sendkeys "mountvol g:\ /d{enter}"wscript.sleep 2000rem aşağıdaki satırı, shellobj.sendkeys "c:\3.jpg{enter}çıkış{enter} kullanarak resmin gerçek adını ve dizinini yansıtacak şekilde değiştirin "Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Sürücüyü tekrar aç", 65, "Sürücüyü tekrar aç")wendmsgbox("Şimdi sabit diski tekrar açacağız!!!")shellobj.run "cmd"wscript.sleep 200rem, GUID'i gerçek GUID'inize ve sürücü harflerini (her ikisi de) gerçek sürücü rem harfine ve etiketin de sürücünün etiketlenmesini istediğiniz herhangi bir etikete değiştirin shellobj.sendkeys "mountvol g: \?\Volume {{}c0ea045c-56fe-11de-8a5a-001111cb3c76{}}\{enter}etiket g: HDD1e{enter}taskkill /F /IM rundll32.exe{enter}çıkış{gir}"

Adım 6: Adım Yok Gerçekten Sadece Bir Yorum

Adım Yok Gerçekten Sadece Bir Yorum
Adım Yok Gerçekten Sadece Bir Yorum

Peki, umarım bu sana yardımcı olmuştur…. Herhangi bir şey yeterince iyi açıklanmadıysa bana bildirin, daha iyi açıklamaya çalışacağım. Ve umarım herkes duvar kağıtlarını beğenmiştir. hayır onları ben yapmadım… hepsi netten bulduklarım.

NOT:: Talimatlarım hakkında herhangi bir şikayeti varsa, lütfen onları [email protected] adresine iletin. Cidden, gerçekten ne düşündüğünü önemsediğimi mi düşünüyorsun? Bir şey öğrenmek istemiyorsanız, yapmayın, Öğrenirseniz yapın, ama gereksiz resimler doğru biçimlendirilmediği için ya da her ne sebeple olursa olsun, pislik olmayın ve şikayet etmeyin açıkçası umurumda değil!!!

Önerilen: