Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    01.2004
    Beiträge
    63

    Geht das mit einer Batch-Datei?

    Hallo! Ich würde gerne wissen ob man folgendes per Batch-Datei machen kann (soll unter WinXP, Vista und Win7 funktionieren):

    -Beim ausführen des Skripts soll der User einen kurzen Text eingeben.
    -Dieser Text wird in einer Textdatei gespeichert (Dateiname ist das aktuelle Datum und die Uhrzeit, Bsp. 2010-06-23-19-56.txt)
    -Die Textdatei wird anschliessend auf einen FTP hochgeladen und von der lokalen Festplatte gelöscht.

    Geht das oder verlange ich zuviel? Habt ihr irgendwelche Tips, wo ich mir Teile des Codes abkucken kann? Danke
    Geändert von jungleblizz (13.07.2010 um 13:43 Uhr) Grund: Typos entfernt

  2. #2
    Registriert seit
    01.2004
    Beiträge
    63

    Pfeil Teillösung

    Hallo! Ich habe mir eine funktionierende Zwischenlösung mit VBScript zusammengebastelt (Quellen: Dieser Forum-Thread und diese externe Quelle).

    Soweit so gut!

    Damit fehtl nur noch der upload auf einen FTP. Ich habe bislang für VBScript nur Lösungen finden können, bei denen man noch etwas externes herunterladen bzw installieren muss. Aber das kommt leider nicht in Frage. Das Skript soll am Ende bei einigen Bekannten auf dem Desktop liegen und benutzt werden, ohne dass diese etwas installieren müssen..

    Jemand einen Idee mit dem FTP-Problem???


    Hier meinen zusammengebastelte Zwischenlösung:

    DasSkript.vbs:
    Code:
       datetoday = Now 
        strMonth  = Right("0" & Month(datetoday) ,2) 
        strDay    = Right("0" & Day(datetoday)   ,2) 
        strHour   = Right("0" & Hour(datetoday)  ,2) 
        strMinute = Right("0" & Minute(datetoday),2) 
        strSecond = Right("0" & Second(datetoday),2) 
        datetoday = YEAR(datetoday) & strMonth & strDay 
        timetoday = strHour & strMinute & strSecond 
        strFile   = datetoday & "_" & timetoday & ".txt"
    
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFile = fso.OpenTextFile("C:\" & strFile,8,true)
    
    nachricht = InputBox("Bitte hier Nachricht eingeben:")
    oFile.WriteLine "Nachricht: " & nachricht
    
    oFile.close

  3. #3
    Avatar von VB-Coder
    VB-Coder ist offline Megabyte
    Mein System
    MainboardMSI P35 Neo (MS-7360)
    ProzessorIntel QuadCore Q6600 - 2400 Mhz - 2x 4MB L2 Cache
    GrafikkarteGainward GeForce 8600 GT - 1024 MB DDR2 - 128bit - PCIe
    RAM2x 2GB Transcend JM4GDDR2-8K - DDR2-800 (400 MHz)
    Festplatte(n)WesternDigital WD5000AAKS-65YGA0 (500 GB - SATA) Seagate ST3120022A (120 GB - IDE)
    Andere LaufwerkeHL-DT-ST DVD-RAM GSA-H55L
    Netzteil (inkl. Spannungswerte)Apevia ATX-AS600W-BK Input: 230V | 50 Hz | 5A Total Output: 600W max +12,+5,+3.3 Combine: 580W
    SoundkarteonBoard Sound
    BetriebssystemWindows 7 Home Premium 64bit
    AV-SoftwareAvira AntiVir Personal
    FirewallComodo Firewall Pro
    System-/OptimierungstoolsSpybot - Search & Destroy HijackThis Malwarebytes' Anti-Malware
    Art des InternetzugangsDSL-16000
    Router/ModemArcor SpeedModem200
    MonitorVideoSeven 19" TFT
    Registriert seit
    04.2007
    Ort
    406XX / NRW
    Beiträge
    1.684
    sprich doch einfach die ftp.exe an, die ist ja bei jedem Windows dabei. Damit kannst du die Sachen auch Uploaden. Allerdings sollte dir bewusst sein, das egal ob per Batch, oder vbs, die FTP Daten (Login) unverschlüsselt im Script stehen. Das ganze eignet sich also nicht unbedingt zur Weitergabe. Oder du richtest einen extra FTP Account für das ganze ein (sofern möglich).
    MfG VB-Coder

  4. #4
    Registriert seit
    01.2004
    Beiträge
    63
    Hallo! Ersteinmal Danke für den Sicherheitshinweis. Ich habe schon speziell hierfür einen extra FTP-Account eingerichtet, deshalb kann da diesbezüglich eigentlich nix schiefgehen.

    Das mit der ftp.exe war mir natürlich nicht bekannt, deshalb gut zu wissen. Bis vorhin wusste ich auch noch nicht, dass es überhaupt sowas wie VBScript gibt... Ich muss mich jetzt erstmal durchs Internet kämpfen um rauszufinden wie ich diese ftp.exe per VBScript ansprechen kann. Gut zu wissen wonach man überhaupt suchen soll, hehe. Ich gebe dann Rückmeldung

  5. #5
    Registriert seit
    01.2004
    Beiträge
    63

    Geschafft!

    Es geht! Ich werd' bekloppt! Ich habe mir von anderer Stelle (hier und hier) noch ein paar Code-Schnipsel kopiert und in mein Skript "reingezimmert" und es funktioniert! Das Einzige was ich jetzt noch vermisse, ist eine Rückmeldung, dass die Datei erfolgreich hochgeladen wurde.

    Hier meine komplette Nachricht.vbs:
    Code:
    ' Timestamp-Zeichenkette erzeugen'
    ' ---------------------------------------------------------------' 
       datetoday = Now 
        strMonth  = Right("0" & Month(datetoday) ,2) 
        strDay    = Right("0" & Day(datetoday)   ,2) 
        strHour   = Right("0" & Hour(datetoday)  ,2) 
        strMinute = Right("0" & Minute(datetoday),2) 
        strSecond = Right("0" & Second(datetoday),2) 
        datetoday = YEAR(datetoday) & strMonth & strDay 
        timetoday = strHour & strMinute & strSecond 
        strFile   = datetoday & "_" & timetoday & ".txt"
    
    ' Textdatei (die übertragen wird) erstellen'
    ' ---------------------------------------------------------------' 
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFile = fso.OpenTextFile("C:\" & strFile,8,true)
    
    ' Nachricht von user abfragen und in Textdatei schreiben'
    ' ---------------------------------------------------------------' 
    nachricht = InputBox("Bitte hier Nachricht eingeben:")
    oFile.WriteLine "Nachricht: " & nachricht
    oFile.close
    
    ' Textdatei mit Servereinstellungen erstellen'
    ' ---------------------------------------------------------------'
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set settingsFile = fso.OpenTextFile("C:\send.txt",8,true)
    settingsFile.WriteLine "open mein-server.com"
    settingsFile.WriteLine "Benutzername"
    settingsFile.WriteLine "Passwort"
    settingsFile.WriteLine "ascii"
    settingsFile.WriteLine "put " & "C:\" & strFile
    settingsFile.WriteLine "bye"
    settingsFile.close
    
    ' FTP upload'
    ' ---------------------------------------------------------------'
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshShell = CreateObject("WScript.Shell") 
    
    Set f = fso.GetFile(WScript.ScriptFullName)
    Batch = "C:\send.txt" 
    
    WshShell.Run "ftp -s:""" & Batch & "", 0, True
    
    ' Textdatei mit Servereinstellungen löschen'
    ' ---------------------------------------------------------------'
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set aFile = fso.GetFile("C:\send.txt")
    aFile.Delete
    
    ' Textdatei (die übertragen wurde) löschen'
    ' ---------------------------------------------------------------'
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set aFile = fso.GetFile("C:\" & strFile)
    aFile.Delete

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
12
Content Management by InterRed