Jump to content

ZeroKnowledge

Members
  • Gesamte Inhalte

    59
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von ZeroKnowledge

  1. Vielleicht war es zu Anfang mal geplant auch eine binäre Darstellung zu unterstützen, umgesetzt wurde es dann aber wohl nicht. Zumindest ist darüber in der Doku bei Microsoft selbst nichts (mehr) zu lesen.

     

     

     

    Numeric values are decimal numbers unless prefixed by 0× for hexadecimal numbers or 0 for octal numbers. Therefore, 0×12 is the same as 18 is the same as 022. The octal notation can be confusing. For example, 08 and 09 are not valid numbers because 8 and 9 are not valid octal digits.

  2. @testperson

     

    1 << 31   // 10000000000000000000000000000000 = -2147483648

    Setzt das höchste/signifikanteste Bit (MSB) einer 32-bittigen Zahl auf 1 was - normalerweise - als Minus interpretiert wird.

     

     

     

    (1 << 31) >> 31    // 11111111111111111111111111111111 = -1

     

    Beim zurück-shiften wird von links nach rechts mit dem MSB aufgefüllt, was zu 32 Einsen und damit -1 führt.

  3. Als erstes Mal, solltest du dir angewöhnen, die richtige Version von deinem Skript für weiter Fragen zu benutzen ;)

     

    Nun zur eigentlichen Frage

    SETLOCAL ENABLEDELAYEDEXPANSION
    
    SET cnt=1
    FOR /F %%a IN ('dir %temp%\*.* /A-D /B') DO {
       sendmail -f %choice1% -t %choice2% -s %choice3% -a "%%a"
       ECHO !cnt!: %%a >>%temp%\report.txt
       SET /A cnt=!cnt!+1
    }
    

     

    Das "Geheimnis" hierbei ist die erste Zeile und die Verwendung von ! anstatt %.

    Damit sollte es denn eigentlich auch funktionieren, zumindest hat es das bei mir^^

  4. Hört sich sehr danach an, dass du die Hochkommas vergessen hast. Ich wette du hast

    for /f %%a in (dir ...) do ...

    anstatt

    for /f %%a in ('dir ...') do ...

    in deiner Batch stehen. Man beachte den feinen Unterschied in den runden Klammern. Der Befehl in den Klammern ist im zweiten Teil von Hochkommas umschlossen.

     

    Sollte ich nicht recht haben, kopier mal die for-Schleife aus deiner Batch hier rein.

  5. FOR /F ... IN ('...') ... DO ...

    Die For-Schleife führt den Befehl in Klammern aus und geht dann Zeile für Zeile durch das Ergebnis vom Aufruf durch.

     

    dir %temp%\*.* /A-D /B

    Listet den Inhalt vom %temp%-Verzeichnis auf, ignoriert dabei aber Verzeichnisse (/A-D) und benutzt das kurze Format (/B), zeigt also keine Zusammenfassung am Ende und spart sich den Pfad vor den Dateien.

     

    Für weitere Optionen (insbesondere für FOR) einfach mal auf der Kommandozeile

    dir /?

    bzw.

    for /?

    eingeben

  6. Kann es grad nicht testen, aber das sollte mit einem regulären Ausdruck und -match in etwa so funktionieren

     

    ls | %{ if($_.Name -match "\d" -eq $True){$_.Name} }

     

    *Edit*

    Das erste Beispiel würde auch Dateien anzeigen, die Zahlen in der Endung haben. Hier mal noch eins, wo nur Dateien aufgelistet werden die Zahlen im Dateinamen haben

    $Files = Get-ChildItem "c:\windows"
    Foreach ($File in $Files) {
       if (!$File.PSIsContainer -and ([iO.Path]::GetFileNameWithoutExtension($File) -match "\d") -eq $True) {
           $File.Name
       }
    }
    

  7. @wbr

     

    Auszug aus "Allway Sync End User Software License Agreement"

     

    Customer agrees that Allway Sync Free has certain limitations and that these limitations may change over time without notice or obligation on the part of Developer. Currently, the limitations may not allow Customer to process more than 40,000 files in any consecutive 30-days. However, these limitations do not apply when synchronizing local files with an OffsiteBox online data storage account (including free OffsiteBox accounts).
  8. Du Such hier am Board funktioniert ganz gut...

     

     

    Google funktioniert auch super :D

    How To Use the AT Command to Schedule Tasks

     

    at \\%computername% 00:01 /every:1 "del /f/s/q f:\daten\diverses\*.*"
    |  |                |     |        |
    |  |                |     |        |
    -- Kommandozeilen-Tool um geplante Tasks zu verwalten
      |                |     |        |
      |                |     |        |
      -- Task auf Rechner "%computername%" einrichten, hier also auf dem Rechner, auf welchem der Befehl ausgeführt wird
                       |     |        |
                       |     |        |
                       -- Start der Aufgabe um 00:01 Uhr
                             |        |
                             |        |
                             -- Start der Aufgabe an jedem Ersten des Monats
                                      |
                                      |
                                      -- Programm was ausgeführt werden soll
    

  9. 1) Was haben die Mitarbeiter in der Datenbank zu suchen? Für sowas gibt es Reporte/Views/Webseiten/...

     

    2) Wieso ein Spalten-Name für 2 unterschiedliche Dinge? Einmal die Ergebnisse pro Aufgabe und einmal alle Zusammen (wozu auch immer). Da haben wir eine 1:n-Beziehung und eine 1:1-Beziehung. Sowas quetscht man nicht in eine Tabelle.

     

    Beschreib doch aber bitte erstmal etwas näher, was du vor hast, bzw. wie das verwendete System aussieht. Ich habe gewisse Zweifel, dass du die richtigen Begriffe verwendest. "Spalte, die mit SQL zu tun hat" kommt mir irgendwie komisch vor.

  10. Manchmal sieht man den Wald vor lauter Bäumen nicht... Danke lefg für die Kettensäge ^^

     

    Ich hätte ja einfach mal den Pfad aus "%%a" mit an das Ziel hängen können... :D

    for /f "tokens=*" %%a in ('dir /b /ad B_*') do (xcopy /e /i /q /y "%%a" "Belege\%%a" && rd /s /q "%%a")
    

     

    Ein kurzer Test hat zumindest jetzt mal bei mir gemacht, was gewünscht ist.

     

    *Edit*

    Beim Tippen überholt. Naja, sind wir jetzt beide das Brett vorm Kopf los :)

  11. Warum nutzt du nicht den Returnwert vom find-Befehl?

    Wenn etwas gefunden wurde ist der errorlevel = 0 ansonten 1

     

    @echo off
    "C:\Program Files (x86)\check_mk\scripts\"check_http.exe -H localhost -u /im-DEMO/im -p 8080 -e 200 > "C:\Program Files (x86)\check_mk\scripts\eloim.txt"
    move /Y "C:\Program Files (x86)\check_mk\scripts\eloim.txt" "C:\Program Files (x86)\check_mk\" >nul
    find /i "http critical" "C:\Program Files (x86)\check_mk\eloim.txt">nul
    If %errorlevel%=0 goto JA
    
    :Nein
    set var=HTTP OK
    echo 0 ELOImporter - %var%
    pause
    EXIT
    
    :JA
    set var=HTTP CRITICAL
    echo 2 ELOImporter - %var%
    pause
    
    EXIT
    

     

    In deinem Code ist das abschließende Anführungszeichen beim Pfad zur eloim.txt falsch gesetzt. Ich hab das auch noch mit korrigiert :)

  12. Wenn du aus dem verschieben ein kopieren und löschen machst, dann funktioniert es. Aber warum genau, kann ich dir nicht sagen. Da hat wohl beim Überschreiben vom Verzeichnis jemand noch die Finger drauf...

     

    for /f "tokens=*" %%a in ('dir /b /ad B_*') do (xcopy /e /i /q /y "%%a" Belege && rd /s /q "%%a")

  13. Probier mal

    objSelection.Font.Bold = True
    objselection.typetext "I "
    objSelection.Font.Bold = False
    objSelection.Font.Name = "Arial Narrow"
    objSelection.Font.Size = "8,5"
    objSelection.Font.Color = RGB(0,63,114)
    
    Set objLink = objSelection.Hyperlinks.Add(objSelection.Range,"http://www.webpage.com",,"Our Webpage", "www.webpage.com")
    
    ' und hier dann die Formatierung für den Link
    objLink.Range.Font.Size = 9 
    objLink.Range.Font.Bold = True
    

  14. Bin grad zu faul das groß zu beschreiben, darum gibts mal die überarbeitete Komplettfassung. Solltest du vorhaben, damit weiter zu spielen, dann würde ich dir empfehlen, dich mal bissl zu dem Thema zu informieren. Oder aber du gehts weg von dem "alten" Kram und nimmst gleich die Powershell ;)

     

     

    @echo Backup to Disk durchgelaufen>> log.txt
    @echo. >> log.txt
    @echo Sicherungs-Job vom: %date% >> log.txt
    @echo. >> log.txt 
    @echo Startzeit des Sicherungs-Jobs: %time:~0,8% Uhr >> log.txt
    @echo. >> log.txt 
    @echo. >> log.txt
    
    set /a start=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2%
    
    copy E:\test\*.* D:\test2\ >> log.txt
    
    @echo. >> log.txt
    
    @echo Endzeit des Sicherungs-Jobs: %time:~0,8% Uhr >> log.txt
    set /a ende=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2%
    set /a diff=ende-start
    set /a hh=diff/3600
    set /a mm=(diff%%3600)/60
    set /a ss=(diff%%3600)%%60
    
    
    @echo Dauer des Vorgangs: %hh%:%mm%:%ss% >> log.txt
    @echo. >> log.txt
    

×
×
  • Neu erstellen...