Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zahlen aus txt datei an befehl in bat. datei anhängen

Frage Entwicklung Batch & Shell

Mitglied: rjung1

rjung1 (Level 1) - Jetzt verbinden

16.01.2010, aktualisiert 18.10.2012, 5611 Aufrufe, 3 Kommentare

Hallo zusammen,

ich habe ein kleines Problem, und da ich nun bei weiten kein Programmmierer bin auch keinen richtigen Ansatzpunkt.

Momentan habe ich eine kleine Batch Datei mit foldendem Inhalt


@echo off
if exist %USBswitchCmd.exe goto existiert
echo Datei USBswitchCmd.exe nicht gefunden!
goto ENDE
:existiert
echo die Datei USBswitchCmd.exe ist OK !
:ENDE
if exist %USBaccess.dll goto existiert1
echo Datei USBaccess.dll nicht gefunden!
goto ENDE
:existiert1
echo die Datei USBaccess.dll ist OK !
:ENDE
if exist %zeiten.txt goto existiert2
echo Datei zeiten.txt nicht gefunden!
goto ENDE
:existiert2
echo die Datei zeiten.txt ist OK !
:ENDE
echo.
echo.
:START
echo Ausführen jetzt mit einer beliebigen Taste !
echo.
echo.
pause
USBswitchCMD -p 1 2 3 4



Diese Datei Prüft am anfang ja das vorhanden sein von 3 weitren Dateien ( USBswitchCmd.exe,USBaccess.dll und zeiten.txt )
danach eine PAUSE
dann wird die Datei "USBswitchCMD" mit den Befehlen -p 1 2 3 4 ausgeführt.

Zur Erkärung :

Die "USBswitchCMD" ist eine Datei welchen eine kleine Schaltbox über USB in den Zeiten 1 2 3 und 4 sekunden immer ein - und ausschaltet. Die Zahlen sind willkürlich gewählt und können nach bedarf geändert werden.

Soweit funtzt das ganze.

Nun zum Problem.

Ich müchte die Zeiten ( 1 2 3 4 ..... ) in eine externe Datei namens " zeiten.txt" auslagern , da das kleine Tool auch von anderen umgeschreiben werden muss, diese leute jedoch nicht in der Batch Datei selbst herumschreiben sollen sondern nur in der "Zeiten.txt" .

Die Zahlen aus der "Zeiten.txt" müssten also an den Befehl "USBswitchCMD -p" angehängt und abgearbeitet werden. Die Abarbeitung selbst übernimmt ja die "USBswitchCMD.exe"

Nach der Abarbeitung wird das Programm geschlossen und fertig.


So .... kleines Problem ... -> lange erklärung

Ich hoffe jemand kann damit was anfangen und hat nen Lösungsvorschlag, Schon mal Danke im Voraus.


Grüße
Rene
Mitglied: bastla
16.01.2010 um 16:18 Uhr
Hallo rjung1 und willkommen im Forum!

Wenn die Datei "Zeiten.txt" alle Werte in der ersten Zeile enthält (diese Zeile also so:
1 2 3 4
aussieht), könntest Du die Zeile direkt in die Variable "%Zeiten%" einlesen und damit dann "USBSwitchCMD" aufrufen:
01.
set /p Zeiten=<Zeiten.txt 
02.
USBswitchCMD -p %Zeiten%
Etwas kompakter (und leichter um zusätzliche Dateien erweiterbar) könnte der gesamte Batch dann (ungetestet) etwa so aussehen:
01.
@echo off & setlocal 
02.
set "Dateien=USBswitchCmd.exe USBaccess.dll zeiten.txt" 
03.
 
04.
set "Fehler=" 
05.
for %%i in (%Dateien%) do if exist "%%~i" ( 
06.
    echo Die Datei "%%~i" ist OK ! 
07.
) else ( 
08.
    echo Datei "%%~i" nicht gefunden! 
09.
    set Fehler=True 
10.
11.
if defined Fehler goto :eof 
12.
 
13.
echo. 
14.
echo. 
15.
:START 
16.
echo Ausführen jetzt mit einer beliebigen Taste ! 
17.
echo. 
18.
echo. 
19.
pause 
20.
set "Zeiten=" 
21.
set /p Zeiten=<Zeiten.txt 
22.
if not defined Zeiten echo "Keine Zeiten eingetragen!" & goto :eof 
23.
USBswitchCMD -p %Zeiten%
Grüße
bastla

[Edit] @TimoBeil
edit @bastla - kaum schludere ich mal nicht so schlimm, kommst du *gg*
Sorry - mein Batch ist dafür aber auch ungetestet ...
[/Edit]
Bitte warten ..
Mitglied: 60730
16.01.2010, aktualisiert 18.10.2012
Servus & willkommen.

Schau dir mal die Formatierungshilfe an - oder "zitiere" meinen Beitrag.
Die Code Blöcke machen es einfacher

das meinen lieblingskommentar dazu mit dem echo off - lass ich mal

Als Grundlage könntest du z.b
Echo ohne Zeilenumbruch und ähnliche Spielereien benutzen.

01.
set /p =USBswitchCMD -p >startit.cmd<nul &type zeiten.txt>>startit.cmd 
02.
start /wait "USBswitchCMD" startit.cmd
und um deinen Ansatz etwas aufzuräumen...

01.
:@echo off 
02.
cls 
03.
:check 
04.
for %%a in (USBswitchCmd.exe USBaccess.dll zeiten.txt) do if exist %%a echo %%a existiert) && goto start 
05.
for %%b in (USBswitchCmd.exe USBaccess.dll zeiten.txt) do if not exist %%b echo %%a existiert nicht)  
06.
pause 
07.
goto ENDE 
08.
 
09.
:START 
10.
echo Ausführen jetzt mit einer beliebigen Taste ! 
11.
echo. 
12.
echo. 
13.
pause 
14.
set /p =USBswitchCMD -p >startit.cmd<nul &type zeiten.txt>>startit.cmd 
15.
start /wait "USBswitchCMD" startit.cmd 
16.
:ende
du könntest aber auch den ganzen kram nicht einfacher machen und "nur" set /p benutzen, wenn die User eh die zeiten ändern sollen und ein Return vom laufen abgeschickt werden soll.

Gruß

edit @bastla - kaum schludere ich mal nicht so schlimm, kommst du *gg*
und das sieht auch mal wieder so aus, als ob du das schon getstet hast - ich hab schonmal die Sprungmarke ende verpasst

edit² und mindestens ein t - ein Zeilenumbruch waren noch drin - die da nicht hingehören.

Das mit dem Type kann mann auch so verwenden, dass entweder die User vorm abschicken sehen, welche Zeiten sie da starten, oder um ein Log file zu pflegen.
Bitte warten ..
Mitglied: rjung1
16.01.2010 um 17:04 Uhr
DANKE für die schnelle und sehr gute Hilfe an alle.

das mit dem

set /p Zeiten=<Zeiten.txt
USBswitchCMD -p %Zeiten%

ist ja wirklich eine simple sache ... aber wenn man keine Ahnung von dem ganzen *gg*

Die Batch kompakter zu machen ist auch super. Jetzt war ich grade so weit das ich mein zeugs einigermaßen verstanden hab, und muss merken das es doch wohl sehr aufgebläht und umständlich geschreiben war.

Ich werd mir mal die Zeilen anschauen, und versuchen alles zu verstehen.

Nochmal ein dickes DANKE

und weils so gut klappt werd ich jetzt gleich noch versuchen eine möglichkeit einzubauen die Zeiten aus der Batch heraus in die zeiten.txt schreiben zu lassen. So das quasi alles aus einer datei heraus funktioniert.

Güße
Rene
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
Merkwürdige Zeilenformatierung in txt Datei (3)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei (6)

Frage von donnyS73lb zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...