İçindekiler:

VB Komut Dosyasına Giriş: Başlangıç Kılavuzu: Bölüm 2: Dosyalarla Çalışma: 13 Adım
VB Komut Dosyasına Giriş: Başlangıç Kılavuzu: Bölüm 2: Dosyalarla Çalışma: 13 Adım

Video: VB Komut Dosyasına Giriş: Başlangıç Kılavuzu: Bölüm 2: Dosyalarla Çalışma: 13 Adım

Video: VB Komut Dosyasına Giriş: Başlangıç Kılavuzu: Bölüm 2: Dosyalarla Çalışma: 13 Adım
Video: Windows 8-10-11 Açılmıyorsa Komutlar ile Başlangıç Onarma 2024, Temmuz
Anonim
VB Komut Dosyasına Giriş: Yeni Başlayanlar Kılavuzu: Bölüm 2: Dosyalarla Çalışmak
VB Komut Dosyasına Giriş: Yeni Başlayanlar Kılavuzu: Bölüm 2: Dosyalarla Çalışmak

Son VBScript talimatımda, Xbox360 oynamak için internetinizi kapatmak için nasıl bir komut dosyası oluşturacağımı inceledim. Bugün farklı bir sorunum var. Bilgisayarım rastgele zamanlarda kapanıyor ve bilgisayar her yeniden başlatıldığında bir dosyaya giriş yapmak istiyorum. Sorunun ekran kartı olduğunu hissediyorum ama emin olmak istiyorum. Bilgisayarı her zaman açık bırakıyorum ama 7/24 izleyemiyorum, bu yüzden en kolay çözümüm her yeniden başlatıldığında bir dosyaya zaman damgası yazmak. Her seferinde bana bir BSOD verdiği için, kapandığında oturum açmak zor olacak, bu yüzden tekrar açıldığında almam gerekiyor. Bu kolay kısım. Bilgisayarda neyin yanlış olduğunu anlayana kadar bu sadece geçici olduğu için, kayıt defterine yazmayacağım veya önyükleme zamanında başlaması için bir hizmet yapmayacağım. Ve her kapandığında yeniden başlatılmasını sağlamak için bios'u düzenlemem gerekecek.

Adım 1: Güç Kesintisinde Yeniden Başlatılmasını Sağlamak için Bios'u Düzenleme

Güç Kesintisinde Yeniden Başlatılmasını Sağlamak için Bios'u Düzenleme
Güç Kesintisinde Yeniden Başlatılmasını Sağlamak için Bios'u Düzenleme

Sorunumun güç kaynağı arızasıyla mı yoksa video kartımla mı yoksa ne olduğundan emin değilim. Ama bilgisayarın sık sık yeniden başlatıldığını biliyorum. Bu nedenle, bir elektrik kesintisinden sonra yeniden başlatıldığından emin olmak için (IE: güç kaynağı kararıyor) bios'u düzenlemek istiyorum. Dışarıda pek çok farklı bios üreticisi olduğu gerçeğinden dolayı, tüm farklı bios ekranlarında bunu yapmanın tüm farklı yollarını listelemek çok zor olurdu, bu yüzden size sadece temel bilgileri vereceğim ve anlamanıza izin vereceğim. ayrıntılar kendi başınıza. Temel olarak bios'unuza girmek için açılışta bir düğmeye basmanız gerekecek. Genellikle "kuruluma girmek için Del'e basın" veya "F2" gibi bir şey söyler. Farklı üreticiler size farklı yollar sunar, ancak genellikle "F2" veya "Del" tuşudur. Her iki durumda da onu izleyin ve size vurmanızı söyleyen tuşa basın. Şimdi genellikle gri veya mavi olan bir ekrana geleceksiniz, ancak bu yine bios markanıza bağlı. Bir güç ayarları seçeneği arıyor olacaksınız. Ya AMIBIOS ekran görüntüsünde olduğu gibi (toms donanım kılavuzundan ödünç alınmıştır) bir pencerede olacak ya da bazılarında gelişmiş bir bios özellikleri penceresinde olabilir. Her neyse, "ac/güç kaybında geri yükle" ayarı arıyorsunuz. Adı başka bir şey olabilir ama buna yakın olacak. Sadece ara. Genellikle üç seçeneğe sahiptir (son durum, güç kaybından sonra açık, güç kaybından sonra kapalı). Güç kaybından sonra açmak istiyorsunuz. Ayarlarınızı kaydettiğinizden ve bios'tan çıktığınızdan emin olun. Şimdi, gücünüz kesildiğinde veya makinenizin fişini çektiğinizde, güç geri gelir gelmez yeniden başlatılacaktır. Evethhhh!!!!!!!!!!!!!!!!

Adım 2: Senaryoyu Yazma Bölüm 1: Plan Yapmak

Senaryoyu Yazma Bölüm 1: Plan Yapmak
Senaryoyu Yazma Bölüm 1: Plan Yapmak
Senaryoyu Yazma Bölüm 1: Bir Plan Yapmak
Senaryoyu Yazma Bölüm 1: Bir Plan Yapmak
Senaryoyu Yazma Bölüm 1: Plan Yapmak
Senaryoyu Yazma Bölüm 1: Plan Yapmak
Senaryoyu Yazma Bölüm 1: Bir Plan Yapmak
Senaryoyu Yazma Bölüm 1: Bir Plan Yapmak

Yapmak istediğimiz ilk şey bir plan oluşturmak. Komut dosyasının tam olarak ne yapmasını istiyoruz. A) Güç kesildiğinde veya BSOD geldiğinde yeniden başlatılmasını istiyoruz. (1. adımda BiosB'nin Düzenlenmesinde halledilmiştir.) Yeniden başlatılır başlamaz bir dosyaya yeniden başlatıldığı tarihi ve saati tam olarak yazmak istiyoruz. C.) O dosyayı değiştirebilmek istiyoruz. Bir kereden fazla yeniden başlatılırsa asla bilemeyiz. D.) Hata düzeltmesine sahip olmasını istiyoruz, böylece berbat olmayacak ve tüm yeniden başlatmalarımızı kötü kodlama nedeniyle hiçbirini kaçırmadan aldığımızdan emin oluyoruz. E.) İstiyoruz yeniden başlatıldığını söyleyen bir mesaj açmak için. F) Yazdığımız dosyayı açmasını istiyoruz, böylece mesaj açılır penceresinde Tamam'ı tıkladığımızda tüm yeniden başlatmaların bir listesini görebiliriz.

Adım 3: Komut Dosyasının Yazılması Bölüm 2: Komut Dosyanızın Oluşturulması ve Değişkenlerin Atanması

Komut Dosyasını Yazma Bölüm 2: Komut Dosyanızı Oluşturma ve Değişkenleri Atama
Komut Dosyasını Yazma Bölüm 2: Komut Dosyanızı Oluşturma ve Değişkenleri Atama

Tamam, her şeyden önce, bir metin belgesi oluşturun ve onu any_name.vbs olarak yeniden adlandırın. Kapatma_catcher.vbs kullandım ama herhangi bir şeyi kullanabilirsiniz. Şimdi vbs dosyasına sağ tıklayın ve düzenle'ye basın. Eğer notepad++ kullanıyorsanız şimdi açmak için iyi bir zaman olacaktır, eğer istemiyorsanız ancak herhangi bir miktarda kodlama yapmayı planlıyorsanız onu elde etmeye bakmalıyız. Tamam, şimdi yapmak istediğimiz ilk şey değişkenler yaratmak. Değişkenler temelde sadece bir yer tutucudur, bu yüzden bir sürü şeyi bir sürü kez yazmak zorunda değiliz. örnek: "hızlı kahverengi tilki tembel köpeklerin üzerinden atlar" diyen bir cümlemiz var. ama bizim kodumuzda 20 defa var. ya tüm cümleyi 20 kez yazabiliriz ya da bir değişken oluşturup cümleyi o değişkene atayacağız. Bu örnekte strSentence değişkenini yarattık ve sonra o değişkene "hızlı kahverengi tilki tembel köpeklerin üzerinden atlıyor"u geri atadık. Şimdi tek yapmamız gereken, cümleye her ihtiyacımız olduğunda strSentence yazmak ve "hızlı kahverengi tilki tembel köpeklerin üzerinden atlıyor" yazmayı biliyor, bunu nasıl yapacağız: Eğer aynı türden birden fazla değişkenimiz varsa koyabiliriz aynı satırda ve değişkenleri virgülle ayırın. Bir değişken yaratmak için, değişkeni boyutlandırma denilen şeyi yapmamız gerekir. Bunu yapmak için değişkenin önüne Dim yazarız, sonra değişkene bir önek koyarız, böylece değişkenin neyi temsil ettiğini biliriz. Örnekler, bir sabit için const nesne değişkeni için bir dize değişkeni nesnesi için str'dir…. Liste uzayıp gider. bunlar bu komut dosyasında kullanacaklarımızdır, bu yüzden onları biraz açıklayacağım. bir dize genellikle bir cümle gibi metindir. Bir nesne genellikle bir dosya veya program gibi fiziksel bir şeydir. ve bir sabit, komut dosyası boyunca her zaman aynı anlama sahip olacak bir şeydir. NOT:HER ZAMAN BİR SATIRIN ÖNÜNDE TEK BİR ' VARSA, SATIR YAZILI TARAFINDAN GÖRÜNÜYOR OLACAKTIR. BUNLARA AÇIKLAMA DENİR VE GENELLİKLE PROGRAMCI TARAFINDAN GİRİLİR. DAHA SONRA KODU GÖZDEN GEÇİRKEN NE YAPTIKLARINI HATIRLAYABİLİRLER. BUNLARI KOD HAKKINDA YORUM YAPMAK İÇİN KULLANACAĞIM, BÖYLECE YAPTIĞIM ŞEKİLDE NEDEN BİR ŞEYLER YAPTIĞIMI GÖREBİLİRSİNİZ. VE HAKKINDA YORUM YAPTIKLARI SATIRIN ÜSTÜNDE OLACAKLAR. Gerçek Kullanım:'bu satır sizi tüm değişkenleri tanımlamaya zorlar. Onsuz herhangi bir tanımsız değişken bir nesne olarak ele alınacaktırOption Explicit'şimdi ihtiyaç duyacağımız klasörler ve dosyalar için 5 değişken oluşturuyoruz'onları istediğiniz gibi adlandırıyoruz ama konvansiyon preNameDim objFiSyOb, objSysFold, objShell, objFile, objTextFile'şimdi ihtiyacımız var dizin, dosya ve dosya için dize değişkenleri oluşturmak için nameDim strDir, strFile, strFileName' şimdi değişkenlere değerler atayalım' strDir bizim dizinimizdir strDir = "C:\Catcher"'daki strFile istediğimiz yerdedir metin belgesini ve adının ne olduğunustrFile = "\Shutdown_catcher.txt"' strfile adı bu nedenle pop upsstrFileName ="Shutdown_catcher.txt"'de kullanmak için dosyanın adına sahibiz. dosyamızda üç seçeneğimiz var' bu kodda sadece eklemeyi kullanacağız ama hepsini bilmek güzel. Const forReading=1, forWriting = 2, ForAppending = 8'son olarak dosya sistemine bir değişken atamamız gerekiyor. nesne böylece daha sonra ihtiyacımız olduğunda onu arayabiliriz yOb = CreateObject("Scripting. FileSystemObject")

Adım 4: Aradaki Açıklamalar

Aradaki Açıklamalar
Aradaki Açıklamalar

Artık değişkenlerimizi boyutlandırdığımıza göre, tek yapmamız gereken o belirli değişkeni her seferinde hatırlamak. Bu sadece yaptığımız yazım miktarını azaltmakla kalmıyor, aynı zamanda yazım yanlışları nedeniyle daha az hata yaratıyor. Artık teknik olarak tek yapmamız gereken aşağıdaki kodu yazmak ve işimiz bitti 'dosyayı eklemek için ayarlaSet objTextFile = objFiSyOb. OpenTextFile (strDir) & strFile, ForAppending, True)'fileobjTextFile. WriteLine'a yeni satırı yaz("Bilgisayarınız şu tarihte kapandı" & tarih & " & saatinde)'fileobjTextFile. Close'bir açılır pencere yapınWscript. Echo ("Sizin bilgisayar " & date & " tarihinde " & saatinde kapat)'dosyayı IESet objShell = CreateObject("WScript. Shell")objShell.run ("Explorer" &" " & strDir & "\shutdown_catcher.txt") içinde açın Sorun şu ki, hata düzeltmesi olmayacak ve mevcut olmayan dosya veya önceden atanmış değişken gibi herhangi bir basit hata, komut dosyasını çökertecek.

Adım 5: Komut Dosyasını Yazma Bölüm 3: If Then İfadeleri Hata Düzeltme Olarak

Komut Dosyasının Yazılması Bölüm 3: If Then İfadeleri Olarak Hata Düzeltme
Komut Dosyasının Yazılması Bölüm 3: If Then İfadeleri Olarak Hata Düzeltme

Hata düzeltmeyi yapmanın en kolay yolu if/then deyimlerini kullanmaktır. Temel olarak bir if then deyimi bir şey olursa bunu yapın, aksi halde bunu yapın. if/then ifadelerini iç içe geçirerek olması gereken bir dizi şey oluşturabilirsiniz. Eğer a, b ve c olursa, bunu yapın, aksi takdirde şunu yapın.example: yazmak istediğimiz dosyanın orada olduğundan emin olmak istiyoruz, bulursak hiçbir şey yapmak istemiyoruz, eğer bulamazsak, onu oluşturmak istiyoruz veya klasörün orada olup olmadığını ve oluşturulup oluşturulmadığını kontrol etmek istiyoruz ve ardından klasörü bulduğumuzda dosyanın orada olup olmadığını kontrol etmek istiyoruz ve eğer oluşturmuyorsa ilki bir if then ifadesinin bir örneğidir, ikincisi ise o zaman iç içe geçmiştir. biz yaparız: if then ifadesinin dört bölümü vardır if/then elseend eğer temelde bu doğruysa o zaman bunu yapın, aksi takdirde bunu yapın ve ardından ifadeyi sonlandırın uygun bir şekilde kodlanmış if then ifadesi şöyle olurdu: Eğer bir şey = bir şey O zaman yapın ne yapman gerekiyorsa başka bir şey yapEnd Eğer doğru olduğu sürece herhangi bir argüman kullanabilirsen, o zaman kısmını takip edecek ve diğer kısmını görmezden gelecek ama eğer yanlışsa o zaman atlanacak ve başka bir yere gidecek Sonra if ifadesini bitirdiğimizde "if'i sonlandır" koyarız, ancak iç içe if ifadeleri varsa, her if ifadesini bitirmemiz gerekir. Bu onları çocuktan ebeveyne sonlandıracak, böylece ilk "if sonu", ebeveynin içindeki if ifadesini bitirir, ikincisi ise orijinal (ebeveyn) if ifadesini bitirir. Bir açılır pencere oluşturmak için Wscript. Echo ("ne olursa olsun" yazmamız yeterlidir. ") mesajında şunu söylemek istiyoruz ki, içine bir değişken değeri eklemek için onu dışına veya çift tırnak arasına koyarız ve ve işareti (&) işaretini sınırlayıcı olarak kullanırız, böylece komut dosyası bunun bir metin değil bir değişken olduğunu bilir.:Wscript. Echo ("Blah falan filan " & strDir & " falan falan filan "& strFilename & " falan falan filan.") Çıktı, Blah falan filan C:\ falan filan. Gerçek Kullanım:'eğer C;\exist klasörü ise objFiSyOb. FolderExists(strDir) Then'get klasörü ObjSysFold = objFiSyOb. GetFolder(strDir)'otherwiseElse'create c;\catcher Set objSysFold = obj. CreateFolder(strDir)'ve dosya ve klasörün var olup olmadığını kontrol edin Eğer objFiSyOb. FileExists(strDir & strFile) Sonra' eğer klasör c:\catcher Set ob alırsa jSysFold = objFiSyOb. GetFolder(strDir)'otherwiseElse'create metin belgesi shutdown_catcher.txt Set objFile = objFiSyOb. CreateTextFile(strDir & strFile)'sonra ikisini de oluşturduğunuzu söyleyen bir mesaj açın Wscript. Echo ("Bir klasör oluşturduk" " & strDir & " adlı ve "& strFilename & " adlı bir dosya ve onu " & strDir & strFile & " dizinine yerleştirdi.")'end if deyimi iç içeEnd If'end orijinal if deyimiEnd If'now ilk if deyiminde Klasörü zaten kontrol ettik ve bulduk, bu yüzden şimdi fileIf objFiSyOb. FileExists(strDir & strFile)'yi kontrol ediyoruz. CreateTextFile(strDir & strFile)'Wscript. Echo metin belgesini oluşturduğumuzu söyleyen bir açılır pencere oluşturun (" & strDir & "file klasöründe " & strFileName & " adlı bir dosya oluşturduk.")End If

6. Adım: Aradaki Açıklamalar

Aradaki Açıklamalar
Aradaki Açıklamalar

Önceki adımdaki koda yakından bakarsanız, hem yuvalanmış hem de yuvalanmamış if if deyimi görürsünüz. Birincisi iç içe geçmiş bir ifadedir. Klasörü ve dosyayı kontrol eder ve bulamazsa ikisini de oluşturur. İkincisi sadece bir dosya arar ve bulamazsa sadece dosyayı oluşturur. Neden ikisi de diyebilir. Peki, dosya silinirse ancak klasör silinmezse ne olur? İlk if deyimi, klasörü bulduğu ve deyimin diğer kısmını hiçbir zaman etkinleştirmediği için dosyanın oluşturulmasının hemen üzerine atlar. Yani dosyaya yazmaya gittiğinizde dosya eksik olacağı için hata veriyordu. Yani ikincisini orada alarak bu sorunu çözüyor. Teknik olarak iç içe geçmiş ifadeyi çıkarabilirsin çünkü ikinci if then ifadesiyle neredeyse aynı, ancak o zaman yalnızca bir açılır pencereniz olurdu ve bu kadar yakışıklı olmazdı. -iç içe if ifadeleri.

7. Adım: Daha Fazla Hata Düzeltme

Daha Fazla Hata Düzeltme
Daha Fazla Hata Düzeltme

Artık hata düzeltmenin çoğunu tamamladığımıza göre, dosyaya yazmak ve açılır pencereleri göstermek istiyoruz. Sorun şu ki, değişkende saklanan önceki nesnenin referansını serbest bırakmazsak izin hataları alacağız. Bu yüzden, değişkenleri hiçbir şeye ayarla diyen küçük bir kod parçası koymak istiyoruz. Şuna benziyor: set objFile = Nothingset objSysFold = NothingBu nedenle, evde takip edenleriniz için kodunuz bu noktaya kadar olmalıdır (yorumu aldım out):Seçenek ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C:\Catcher"strFile = "\Shutdown_catcher.txt"strFileName =". ForAppending = 8Set objFiSyOb = CreateObject("Scripting. FileSystemObject")If objFiSyOb. FolderExists(strDir) Sonra Set objSysFold = objFiSyOb. GetFolder(strDir)Else Set objSysFold = objFiSyOb. Create() ObjSysFold = objFiSyOb. GetFolder(strDir)Else Set objFile = objFiSyOb. CreateTextFile(strDir & strFile) Wscript. Echo (" & strDir & " adlı bir klasör ve "& strFilename & " adlı bir dosya oluşturduk ve içine yerleştirdik. " & strDir & strFile & " dizini.")End I fEnd IfIf objFiSyOb. FileExists(strDir & strFile) Sonra Set objSysFold = objFiSyOb. GetFolder(strDir)Else Set objFile = objFiSyOb. CreateTextFile(strDir & strFile) Wscript. File "&adlı bir dosya oluşturduk" &Adı " & strDir & "file folder.")End Ifset objFile = Nothingset objSysFold = hiçbir şey

8. Adım: Komut Dosyasını Yazma 4. Bölüm: Nitelikleri Ayarlama

Komut Dosyasını Yazma Bölüm 4: Nitelikleri Ayarlama
Komut Dosyasını Yazma Bölüm 4: Nitelikleri Ayarlama

Şimdi, değiştirebilmemiz için dosyanın niteliklerini ayarlamamız gerekiyor. Önceden üç sabit değişken ayarlamıştık:forReading=1forWriting=2 forAppending=8eğer bunu forReading olarak ayarlarsanız okuyabilir ancak yazamazsınız. Eğer forWriting olarak ayarlarsanız, programı her çalıştırdığınızda mevcut dosyanın üzerine yazarsınız. Bunu forAppending olarak ayarlarsanız, betik belgeye her çalıştığında yeni bir satır ekleyeceksiniz. Her yeniden başlatılışında bir günlük istediğimizden, üzerine yazılmasını değil, eklenmesini istiyoruz, bu yüzden forAppending'i kullanıyoruz. Bunu nasıl yapıyoruz?: niteliklerini ayarlamak istediğiniz nesneyi adlandırmanız gerekir. Önceki adımlarda işin çoğunu zaten yaptığımız için bu noktada sadece değişkenleri hatırlamamız gerekiyor. Sonra onu true olarak ayarlayın. Gerçek Kullanım:'object to set = filesystemobject.action(dizin+dosya adı, öznitelik, true veya false) Set objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True)

9. Adım: Komut Dosyasını Yazma 5. Bölüm: Dosyaya Yazma

Komut Dosyasını Yazma Bölüm 5: Dosyaya Yazma
Komut Dosyasını Yazma Bölüm 5: Dosyaya Yazma

Bir dosyaya yazmak, bir açılır pencere yazmaya çok benzer. Sadece:objTextFile. WriteLine("Ne söylemek istersen" & Yazmak için çekilecek değişken) koymanız yeterlidir. Tek fark ilk kısımdır. Bir açılır pencerede:Wscript.echo bir yazma satırına koyarsınız:objTextFile. WriteLineAnd bir yazma satırında yazma satırını kapatmanız gerekir, böylece yazmayı durduracağını bilir ve bunun için şunu kullanırsınız:objTextFile. CloseActual Usage:objTextFile. WriteLine("Bilgisayarınız " & date & " at " & time)objTextFile.close'şimdi, kişinin bunun olduğunu bilmesi için dosyaya yazdığınızı söyleyen bir açılır pencere ekleyin've dosyayı açmak ve viewWscript. Echo ("Bilgisayarınız kapatıldığında " & tarih & " tarihinde) için kapatmaları gerekir. & zaman)

Adım 10: Komut Dosyasını Yazma Bölüm 5: Dosyayı Görüntülemek İçin Açma

Komut Dosyasını Yazma Bölüm 5: Dosyayı Görüntülemek İçin Açma
Komut Dosyasını Yazma Bölüm 5: Dosyayı Görüntülemek İçin Açma

Komut dosyası bu noktada, biri açılır pencereyi tıklayana kadar duracaktır. Açılır pencereyi geçtikten sonra, dosyayı açan bir satır koyabilirsiniz. Üzerinde bazı hata düzeltmeleri kullanmak, programın iyi çalışmasına yardımcı olur. vbscript'te bir hata oluşturduğunuzda, vbscript'te önceden tanımlanmış bir değişken olan "err.number" değişkenine bir değer ekler. Tanımlamak zorunda değilsiniz ve kurallarını ihlal etmediğiniz sürece diğer değişkenler gibi kullanabilirsiniz. err.number değişkenine atanan değer, oluşan hatanın kodudur. Artık, vbscript veritabanında bilinen her hata kodunu kontrol edebilir ve oluşmadığından emin olabilirsiniz. Veya daha kolayı, sadece err.number değişkeninin boş olduğundan emin olmak için kontrol etmektir. boşsa hiçbir hata oluşmadı. Bunu yapmak için değişkenin vbEmpty'ye eşit olup olmadığını kontrol ederiz. Yani betiğimizde başka bir if if deyimi kullanmak istiyoruz. Ve bir hata oluşup oluşmadığını ve dosyayı görüntülemek için açıp açmadığını kontrol edin, ancak açılırsa hata ayıklayabilmemiz için hata numarasını içeren bir mesaj açılır. Ardından, komut dosyamızla işimiz bittiğinde, Wscript. Quit yazın. Bu, komut dosyasına kendisini sonlandırmasını söyler. Bu, bellek sızıntılarını ve istenmeyen işlemlerin çalışmasını engellemeye yardımcı olur. Nasıl kullanılır: err.number vbEmpty'ye eşitse, o zaman bir kabuk oluşturun, ardından programı kabuktan çalıştırın, aksi takdirde bir hata olduğunu söyleyen bir mesaj açılır if. Gerçek Kullanım:'kontrol edin errorIf err.number = vbEmpty o zaman'eğer hiçbiri bir kabuk oluşturmazsa Set objShell = CreateObject("WScript. Shell")'sonra dosyayı Explorer kullanarak bu kabuktan açın. aslında objShell.run ("Explorer" &" " & strDir & "\shutdown_catcher.txt") olsa da IE'de açılacaktır, aksi takdirde Else WScript.echo "VBScript Hatası: " & err.numberEnd If 'end scriptWscript.quit

Adım 11: Komut Dosyasını Başlangıçta Çalıştırmak

Komut Dosyasının Başlangıçta Çalıştırılması
Komut Dosyasının Başlangıçta Çalıştırılması

Başlat menüsünde Başlangıç adlı bir dosya klasörü vardır. Bu klasöre yerleştirilen herhangi bir şey, bilgisayar başlatılır başlatılmaz başlayacaktır. Komut dosyasını başlangıç klasörüne yerleştirerek, bilgisayar kasıtlı olsun ya da olmasın her yeniden başlatıldığında yürütülür. Bunu yalnızca bir teşhis aracı olarak kullandığım için, başlamak için bir hizmete dönüştürülmesine gerek yok ve başlatmak için kayıt defterine koymam gerekmiyor, bu yüzden bu iyi olacak. Bilgisayarı düzelttiğimde dosyayı başlangıç klasöründen silebilirim ve başka bir temizleme gerekmez.

Adım 12: Programı Çalıştırma

Programı Çalıştırmak
Programı Çalıştırmak
Programı Çalıştırmak
Programı Çalıştırmak
Programı Çalıştırmak
Programı Çalıştırmak

vbscript dosyasını çalıştırdığınızda, şimdi A olacaktır.) C:\Catcher klasörünün var olup olmadığını ve oluşturmadığını kontrol edin. B:) Shutdown_catcher.txt dosyasının var olup olmadığını ve oluşturmadığını kontrol edin. C:) Bir klasör veya dosya veya her ikisini de oluşturduysa, bunları kendisinin oluşturduğunu söyleyen bir mesaj açılır (Not: Bunu yalnızca ilk çalıştırmadan sonra yapmalı, silinmediği sürece zaten orada olmalıdır, bu nedenle bu mesajı yalnızca bir kez görmelisiniz). Bu komut dosyasını kontrollü bir yeniden başlatma altında bir kez çalıştırmak iyi bir fikir olabilir, böylece bu açılır pencereleri atlayabilirsiniz veya dosyaya hiçbir şey yazamazsınız çünkü oluşturulan açılır pencereleri atlamayacaktır.)D:) Shutdown_Catcher.txt adlı metin belgesi, bilgisayarın şu veya bu tarihte falan bir tarihte kapandığını söylüyor. E:) Yeniden başlatma olduğunu söyleyen bir mesaj açılırF:) Dosyayı görüntülemek için açın. Bir sonraki adıma bakarsanız kodu yazıldığı gibi göreceksiniz. Şimdi tek yapmam gereken arkama yaslanıp beklemek. Bilgisayar her yeniden başlatıldığında, bunun bir kaydını alacağım. Sonra kaydı inceleyebilir ve herhangi bir tutarlılık olup olmadığını görebilirim. Örnek olarak, her yarım saatte bir yeniden başlatılması veya saatte 45 veya 45'lik bir artış olduğunda herhangi bir zamanda yeniden başlatılması olabilir. Bilgisayarı kontrol etmemin tek yolu bu değil, bilginiz olsun. Ayrıca sıcaklıkları kontrol etmek için çalışan bir kıyaslama programım var, bu yüzden kapandığında ne kadar sıcak olduğunu, voltajı böylece güç kaynağının arızalanıp arızalanmadığını ve birkaç başka yararlı şeyi biliyorum. Peki, umarım bu yardımcı olmuştur. Bundan zevk aldığımı biliyorum, belki başkaları da beğenir. Herhangi bir sorunuz varsa sormaktan çekinmeyin. Onlara hemen ulaşamayabilirim ama biraz sonra size cevap vereceğim. Günümün/haftamın nasıl geçtiğine bağlı.

Adım 13: Kod

kod
kod

Bu, tüm ipuçları ve açıklamalar olmadan yazıldığı şekliyle koddur_Option ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C:\Catcher"strFile = "\Shutdown_catcher. Const forReading=1, forWriting = 2, ForAppending = 8Set objFiSyOb = CreateObject("Scripting. FileSystemObject")If objFiSyOb. FolderExists(strDir) O zaman Set objSysFold = objFiSyOb. GetFolder(strDir)Else ObjSysFold(strDir)Else Set objSys objFiSyOb. FileExists(strDir & strFile) Sonra Set objSysFold = objFiSyOb. GetFolder(strDir)Else Set objFile = objFiSyOb. CreateTextFile(strDir & strFile) Wscript. Echo ("Ve str" adlı bir dosya oluşturduk & " "& strFilename & " ve onu " & strDir & strFile & " dizinine yerleştirdi.")End IfEnd IfIf objFiSyOb. FileExists(strDir & strFile) Then Set objSysFold = objFiSyOb. GetFolder(strDir)Else Set objFileO = ob. File(strDir & strFile) Wscript. Echo ("Bizim " & strDir & "file klasöründe " & strFileName & " adlı bir dosya oluşturdu.")End Ifset objFile = Nothingset objSysFold = NothingSet objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True)objTextFile. WriteLine("Your " & date & " üzerinde " & time)'da kapatın)objTextFile. CloseWscript. Echo ("Bilgisayarınız " & date & " tarihinde & " & time'da kapatılır) err.number = vbEmpty ise, o zaman Set objShell = CreateObject("WScript. Shell") objShell.run ("Explorer" &" " & strDir & "\shutdown_catcher.txt")Başka WScript.echo "VBScript Hatası: " & err.numberEnd IfWScript. Quit

Önerilen: