kostenloser Webspace werbefrei: lima-city


alle Laufwerke in bat-datei auslesen.

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.

    Hallo, ich möchte mein Anti-Viren-Batch-Skript gegen den ctfmon jetzt fertigprogrammieren, aber jetzt habe ich nur noch eine frage.
    Wie kann ich denn alle vergebenen Laufwerke auflisten, damit ich in jedem Laufwerk die Datei Laufwerk:\\Recycler\\info2.exe löschen kann.

    lg
    Vali
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Schau in der Windows-Hilfe nach unter If, da findest du ausführliche Infos und Beispiele:

    Für Laufwerk D machst du das z.B. so:
    if exist D:\\nul del D:\\Recycler\\info2.exe
    Für Laufwerk E genauso:
    if exist E:\\nul del E:\\Recycler\\info2.exe
  4. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Am einfachsten wäre:

    Eine for-Schleife, die von A bis Z durchläuft, das sind zugleich alle möglichen Laufwerke. Dann prüfst du, ob die Datei auf dem jeweiligen Laufwerk existiert...
    \"Laufwerk existiert nicht\" ist ja gleichbedeutend mit \"Datei existiert nicht\" =)


    Beitrag geändert: 6.3.2008 19:27:29 von cbhp
  5. ho ;)

    finde die obrigen vorschläge gut - habe dazu nichts mehr zu sagen...
    aber würdest du mir verraten, wie du das mit dem %1 gelöst hast?
    ich finde den alten thread nicht mehr *g*

    lg
    Sincer

    //EDIT: mir wäre noch eingefallen, dass du einfach eine txt datei hast, in der nur %1 steht, die wird ausgelesen, und der inhalt 1:1 in die neue ini kopiert *g*

    //EDIT:
    So, jetzt habe ich es geschafft.
    Einfach statt \'%1\' \'%%1\' schreiben, dann steht genau das in der datei, was ich wollte.

    lg
    Vali

    kk^^


    Beitrag geändert: 6.3.2008 20:41:42 von sincer
  6. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.


    Am einfachsten wäre:

    Eine for-Schleife, die von A bis Z durchläuft, das sind zugleich alle möglichen Laufwerke. Dann prüfst du, ob die Datei auf dem jeweiligen Laufwerk existiert...
    \"Laufwerk existiert nicht\" ist ja gleichbedeutend mit \"Datei existiert nicht\" =)


    An so einer Schleife hätte ich schon länger gebastelt, aber kannst du mir sagen, wie ich eine Schleife von A bis Z in einem Batch-Skript unter XP/Vista mache?

    lg
    Vali
  7. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Hier ein Beispiel:

    (Kann evtl. bei Diskettenlaufwerken einen Fehler aufweisen...)

    ECHO OFF 
    CLS
    FOR %%i IN (\'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\') DO IF EXIST %%i:\\\\ echo Laufwerk %%i:\\\\ existiert.
    PAUSE
    EXIT


    Tipp: Gib in die Eingabeaufforderung IF /? und FOR /? ein, dann erhältst du weitere Beispiele.


    Beitrag geändert: 30.3.2008 21:31:50 von cbhp
  8. Autor dieses Themas

    valuser

    Kostenloser Webspace von valuser

    valuser hat kostenlosen Webspace.

    Danke cbhp, dein skipt funct super!

    tipp: statt cls kann man auch einfach @echo off schreiben, dann wird dieser Text auch nicht ausgegeben.

    Aber ich würde gerne in der Schleife mehrere Sachen angeben, also wie müsste ich es schreiben, so wie in vb mit loop am schluss der schleife?

    lg
    Vali
  9. bluedragonebook

    Kostenloser Webspace von bluedragonebook

    bluedragonebook hat kostenlosen Webspace.

    Statt der Anweisung, die ausgeführt werden soll ein \"call batchdateiname.bat\".
  10. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    bluedragonebook schrieb:
    Statt der Anweisung, die ausgeführt werden soll ein \'call batchdateiname.bat\'.

    Viel zu umständlich und aufwändig.


    valuser schrieb:
    tipp: statt cls kann man auch einfach @echo off schreiben, dann wird dieser Text auch nicht ausgegeben.

    Falsch.
    ECHO ON bzw. ECHO OFF schaltet nur die Befehlsanzeige an oder aus.
    CLS hingegen löscht den Bildschirminhalt, also alle vorherigen Befehlsanzeigen, besonders nützlich, damit nicht zu viel Text in der Eingabeaufforderung steht.


    valuser schrieb:
    Aber ich würde gerne in der Schleife mehrere Sachen angeben, also wie müsste ich es schreiben, so wie in vb mit loop am schluss der schleife?

    Hättest du in der Hilfe nachgeschaut, wüsstest du\'s... einfach IF /? eingeben.


    IF EXIST test.txt (
       del test.txt
       echo Datei wurde entfernt
    ) ELSE (
       echo test.txt fehlt
    )

    Mit Hilfe der Klammern kannst du mehrere Befehle einbauen.

    Beitrag geändert: 1.4.2008 13:58:00 von cbhp
  11. also würde das auch funktionieren:

    echo off >nul
  12. bluedragonebook

    Kostenloser Webspace von bluedragonebook

    bluedragonebook hat kostenlosen Webspace.

    also würde das auch funktionieren:

    echo off >nul



    Nein, das funktioniert NICHT oÔ

    @echo off

    - gibt den Befehlstext als solchen nicht aus. In einer \"batch.bat\" als erster Befehl vor z. B. \"echo Hallo\":

    C:\\\\>batch.bat
    Hallo
    C:\\\\>


    echo off >nul

    - schreibt das Ergebnis des Befehls in das \"NUL\"-Device, hier sieht das dann so aus:

    C:\\\\>batch.bat
    C:\\\\>echo off >nul
    Hallo
    C:\\\\>


    Wie du siehst, wird hier der Befehlstext mit ausgegeben. Das ist ein kleiner aber feiner Unterschied. :)

    Beitrag geändert: 8.4.2008 17:52:27 von bluedragonebook
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!