[Batch/Bash] Umgebungsvariable mit Leerzeichen Windows 7

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von unix, 22. Februar 2011 .

  1. 22. Februar 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Umgebungsvariable mit Leerzeichen Windows 7

    Guten Tag,

    Ich will eine Batch Datei, die in nem Programm Ordner unter %PROGRAMFILES% abliegt, als geplanten Task hinzufügen!

    Das ganze klappt schon unter XP wunderbar, nur leider will Windows 7 nich so ganz...

    Das ganze soll per batch passieren, also das hinzufügen des Tasks!

    Hier mal mein Code, der unter Windows XP funzt:

    Code:
    schtasks /create /tn "FTPSSyncher" /tr "%PROGRAMFILES%\FTPSSyncher\FTPSSyncher.bat" /sc T[COLOR="Red"]Ž[/COLOR]GLICH /st 22:00:00
    Das schöne rote Ž deshalb, weil schtasks ein Täglich als String haben will, aber mit dem ä nich klar kommt.

    Also wie gesagt unter XP funzt alles wunderbar, unter Windows 7 jedoch macht der mir das hier:

    Bild

    Hat einer ne Ahnung wie ich dem den String von %PROGRAMFILES% doch noch reinkloppen kann?

    Habs auch schon ohne "" versucht, da bricht er ganz ab, weil der Befehl an der Stelle keine Parameter zulässt und das weil er da auch net mit dem Leerzeichen klar kommt!
     
  2. 23. Februar 2011
    AW: Geplante Tasks + Umgebungsvariable

    Hab jetzt noch etwas gegoogelt und man kann anscheinend ne Umgebungsvariable ändern, oder es wird halt nur anders angezeigt, ich denk das ich dann temporär.

    Aber das haut bei mir auch nich hin, ich hätt dann versuch das Leerzeichen durch ein escaptes Leerzeichen aus zu tauschen und gehofft, dass es dann geht!

    Wie Arbeite ich mit Batch UmgebungsVariablen? Erstellung Umgang Erweiterungen Veränderungen - administrator.de

    So hatte ichs versucht:
    Code:
    %PROGRAMFILES: =^ %
    schtasks /create /tn "FTPSSyncher" /tr "%PROGRAMFILES%\FTPSSyncher\FTPSSyncher.bat" /sc T?GLICH /st 22:00:00
    Wieso macht Microsoft so scheiß Umgebungsvariablen mit denen das System selbst nich klar kommt xD

    Hat keiner ne Idee, wie ich den Pfad nun komplett reingedrückt krieg und nich, dass der ab dem Leerzeichen den Rest als Parameter übergibt... ?

    BTW:
    Google Suche: "Windows Task Umgebungsvariable" bringt als ersten Treffer den Thread hier ^^
     
  3. 28. Februar 2011
    AW: Umgebungsvariable mit Leerzeichen Windows 7

    Habs jetzt herausgefunden:

    Blöde Hochkommas!
    Code:
    schtasks /create /tn "FTPSSyncher" /tr "'%PROGRAMFILES%\FTPSSyncher\FTPSSyncher.bat'" /sc T?GLICH /st 22:00:00
    somit klappts unter Windows 7, der Pfad wird richtig gesetzt und der Task funzt!

    Unter XP spuckt der mir jetzt aber den Pfad raus:
    Code:
    C:\Programme\FTPSSyncher\'C:\Programme\FTPSSyncher\FTPSSyncher.bat'
    Son Dreck

    EDIT::

    Habs jetzt so gelöst:

    Code:
    @echo off 
     
    if exist %PROGRAMFILES%/nul goto TUWAS 
    REM Windows 7 Program Files 
    schtasks /create /tn "FTPSSyncher" /tr "'%PROGRAMFILES%\FTPSSyncher\FTPSSyncher.bat'" /sc T?GLICH /st 22:00:00
    goto ENDE 
     
    :TUWAS 
    REM Windows XP Programme 
    schtasks /create /tn "FTPSSyncher" /tr "%PROGRAMFILES%\FTPSSyncher\FTPSSyncher.bat" /sc T?GLICH /st 22:00:00
    
    :ENDE 
    
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.