![]() |
Re: bat-datei commands
Zitat:
|
Re: bat-datei commands
Fuer die erweiterte Syntax "NT Shell Scripting" von Tim Hill (war glaub ich der Name). Habe es nicht hier, liegt noch in Reykjavik. Damit kann man dann so schoene Sachen machen wie
![]() Wenn es ab Windows 95 gehen soll, wirst du einige Schwierigkeiten bekommen. IMO gab es bei einem dieser fruehen Systeme keinen Switch um DEL mitzugeben, dass es nicht rueckfragen soll. Damals machte man das mit
Code:
was leider den Nachteil hatte, dass es sprachabhaengig wurde (statt y ein j auf einem deutschen System).
echo y|del ...
Wenn du konkretere Fragen stellst, kann ich dir auch helfen, wenn deine Anforderungen fuer Windows 2000 (notfalls auch NT4) und spaeter sind. Das ausfuehren einer EXE-Datei geht wahlweise mit
Code:
START ist ein Befehl des NT Shellskriptinterpreters und erlaubt die Mitgabe bestimmter Parameter wie Prioritaet. Die erste Zeile und die dritte sind sich gleich, solange es ein Programm ist. Wuerdest du eine andere BAT-Datei aufrufen wollen, muesstest du CALL benutzen, weil ansonsten der Interpreter nach dem aufgerufenen Skrit aufhoert. Beispiel:
Bla.exe
start Bla.exe call Bla.exe 1.bat
Code:
2.bat
@echo off
echo %0 2.bat rem Die folgende Zeile wird nie ausgefuehrt: echo Test
Code:
... wenn wir jedoch die 1.bat geringfuegig abaendern, funktioniert es wie erwartet:
@echo off
echo %0 1.bat
Code:
@echo off
echo %0 call 2.bat rem Die folgende Zeile wird nun ausgefuehrt: echo Test Zitat:
Zitat:
Uebrigens kannte auch schon DOS den . als das aktuelle Verzeichnis. Folgende Zeile sollte es also auch tun :zwinker:
Code:
del .\*.txt
Das 1x1 des Windowsadmins :lol: |
Re: bat-datei commands
Moin Olli,
Zitat:
Zitat:
|
Re: bat-datei commands
Zitat:
Alternativ habe ich auch noch eine mit NT4 kompatible Variante in petto, welche sich hier findet: ![]() Aber hier die (IMO) korrektere Variante (mit der Einschraenkung unter dem naechsten Zitat von dir - Stichwort: Kontext):
Code:
Koennte auch einfach nur "del %DIR_%*.txt" lauten.
set DIR_=%~dp0
del %DIR_%\*.txt Ich sage dir auch, wieso ich denke, dass das korrekter (gibt sicher andere Varianten) ist. ".." bedeutet im Kontext eines Verzeichnisses "das darueberliegende Verzeichnis" - die Skriptdatei ist ja nun aber kein Verzeichnis, folglich ist es semantisch falsch, auch wenn es dank des einprogrammierten Shortcuts "alles bis zum davorliegenden Backslash aus dem Pfad entfernen, falls es dort noch einen Backslash gibt" trotzdem funktioniert. Kaeme halt drauf an. Ich gehe davon aus, dass ich einen solchen Hack wie du auch anwenden wuerde, wenn es nicht sauber sein muss sondern "einfach nur" funktionieren soll :zwinker: Zitat:
Beispiel:
Code:
@echo off
call :FUNCTION blablubb :: Exit script goto :EOF :FUNCTION :: Prints ":FUNCTION" echo %0 :: Return to caller goto :EOF |
Re: bat-datei commands
hi,
hab nu eine bat datei gebastelt, die wie folgt aus sieht:
Code:
Hab nu das problem, das sie sich nicht beendet, sondern erst, wenn das programm, welches sie ausfürht, beendet wird.
@echo off
ping -n 5 localhost del "Winamp Controller for G15.exe" del "version.txt" rename "dummy.exe" "Winamp Controller for G15.exe" "Winamp Controller for G15.exe" exit |
Re: bat-datei commands
Code:
start "Winamp Controller for G15.exe"
|
Re: bat-datei commands
Zitat:
|
Re: bat-datei commands
Win 95 ? Sage eher : DOS 3 :mrgreen: Es gilt : Programmname <Parameter> :stupid:
|
Re: bat-datei commands
Zitat:
Vielleicht hätte es sich gelohnt den Beitrag #15 durchzulesen?! Nachtrag: okay, es ![]() |
Re: bat-datei commands
also,
irwie funktioniert das mit start nicht .... :( er macht einfach gar nix ... und wenn ich nur den dateiname eingeb, geht ein cmd fenstern mit titel = dateiname auf und es passiert nichts :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz