corny
Goto Top

Batchdatei zum speichern des TS Status in einer txt

Teamspeak Status

ich möchte das mit einer Batch der status von TeamSpeak in einer txt gespeichert wird.
dazu hab ich folgenen code geschrieben:

@Echo off
cd C:\Programme\Teamspeak2_RC2\client_sdk
tscontrol.exe get_client_version > tsversion.txt
tscontrol.exe GET_SERVER_INFO > tsserver.txt
tscontrol.exe GET_USER_INFO > tsuser.txt

das problem ist das die txt leer bleibt wenn ich in cmd jeden einzellnen schritt von hand durchgehe funktioniert das auch.
bei einer einzigen person funktioniert das so wie es ist. nur leider wissen wir beide nicht was er noch zusätzlich installiert hat face-sad

das was gespeichert werden soll:
C:\Dokumente und Einstellungen\riEgel>cd C:\Programme\Teamspeak2_RC2\client_sdk

C:\Programme\Teamspeak2_RC2\client_sdk>tscontrol.exe get_client_version
OK
Version: 2.0.32.60

C:\Programme\Teamspeak2_RC2\client_sdk>tscontrol.exe GET_SERVER_INFO
OK
Servername: sa// steel accordance
Welcome Message: This Server is hosted by www.darkstyle-hosting.de
Version: 2.0.20.1
Platform: Linux
IP: 81.169.129.193:1337
Host: darkstyle-hosting.de:1337
Max Users: 20
Current User Count: 4
Current Channel Count: 12
Server Type: Freeware Clan server
Supported codecs: Celp 5.1, Celp 6.3, GSM 14.8, GSM 16.4, WCELP 5.2

C:\Programme\Teamspeak2_RC2\client_sdk>tscontrol.exe GET_USER_INFO
OK
User:
ID: 6  Channel: 18  Nick: CornY <-Alex->
ChannelPrivs: 0x01(Admin)  Privs: 0x0A(ServerAdmin,Registered)  Flags: 0x00(none
)
Channel:
ID: 18  Parent: -1  Name: Lobby sa//  Playercount: 1  Flags: 0x31  Codec: 12

habs auch schon mit variablene versucht nur leider wir dann der command an sich gespeichert nicht das was eigendlich ausgegeben werden soll.

hoffe das mit wer helfen kann.


mfg CornY


*edit* so wie das dort ist, funktioniert das nur wenn die batchdatei auch auf der gleichen partition ist wie das programm installiert ist.

hatte bisher immer so das ts auf c installiert ist und ich versucht habe auf d die batch zuschreiben.

hat da schon mal jemand seine erfahrungen mit gemacht?
ms roxx ._.

*edit2*
ok habs gelöst, hab mich noch einmal mit dem dos befehlen auseinander gesetzt (das letzte mal zu win95 zeiten ;) )
aufjedenfall ging mir dann auch n licht auf, mit cd kann man keine laufwerke wechseln, sondern nur ordner
lösung des ganzen:
rem @Echo Off
C:
cd \
cd Programme\Teamspeak2_RC2\client_sdk
tscontrol.exe get_client_version > d:\tsversion.txt
tscontrol.exe GET_SERVER_INFO > d:\tsserver.txt
tscontrol.exe GET_USER_INFO > d:\tsuser.txt

cya @ all

Content-Key: 18214

Url: https://administrator.de/contentid/18214

Printed on: April 24, 2024 at 07:04 o'clock

Member: Atti58
Atti58 Oct 22, 2005 at 09:15:19 (UTC)
Goto Top
Du hättest Deine Batch auch so schreiben und auf D: starten können:

@echo off
C:\Programme\Teamspeak2_RC2\client_sdk\tscontrol.exe get_client_version > tsversion.txt
C:\Programme\Teamspeak2_RC2\client_sdk\tscontrol.exe GET_SERVER_INFO > tsserver.txt
C:\Programme\Teamspeak2_RC2\client_sdk\tscontrol.exe GET_USER_INFO > tsuser.txt

und sollte der Programmpfad Leerzeichen enthalten, einfach mit Anführungsstrichen umschließen,

Gruß

Atti
Member: ketchup
ketchup Oct 22, 2005 at 09:24:33 (UTC)
Goto Top
wäre auch noch so gegangen:

@Echo off
setlocal
set tpath=C:\Programme\Teamspeak2_RC2\client_sdk
set outpath=d:
%tpath%\tscontrol.exe get_client_version > %outpath%\tsversion.txt
%tpath%\tscontrol.exe GET_SERVER_INFO > %outpath%\tsserver.txt
%tpath%\tscontrol.exe GET_USER_INFO > %outpath%\tsuser.txt
endlocal

dadurch wärst du sehr flexibel und es wäre egal von wo du das skript aufrufst.
wennst ganz flexibel sein wolltest, dann könntest dir aus der registry noch den pfad zum teamspeak rauslesen und die tpath dementsprechend setzen.

jürgen

[Edited by Biber 24.10.2005 Flüchtigkeitsfehler "set outpath=d:\" --Backslash entfernt]
Member: CornY
CornY Oct 22, 2005 at 12:16:34 (UTC)
Goto Top
cool bedanke mich bei euch beiden recht herzlich, ma wieder was gelernt

face-smile
Member: Biber
Biber Oct 23, 2005 at 09:17:14 (UTC)
Goto Top
Moin CornY,

weil auch ich es (genauso wie Atti58 und ketchup) sehr erfreut registriert habe, dass Du zu Deinem Problem auch die selbst gefundene Lösung zum Nutzen für alle gepostet hast, geb ich auch umsonst zwei Tipps dazu (obwohl ketchups Lösung vollständig ist!).

1. Du kannst auch dem "CD"-Befehl einen Zusatzparameter mitgeben, damit ggf. das Laufwerk gewechselt wird.
cd /D C:\Programme\Teamspeak2_RC2
...würde auch von einem anderen Laufwerk in Deinen Pfad finden.

2. Was -unabhängig von der Programmier- oder Scriptsprache einfach "schlechter Stil" ist, war in Deinem ersten Ansatz das Wechseln des Verzeichnisses, ohne am Ende der Arbeit wieder den alten Zustand herzustellen. So etwas tut man/frau nicht face-wink

Besser: Sichern, Wechseln und Wiederherstellen des aktuellen Verzeichnisses mit PushD/PopD:
~~~
@Echo off 
pushd C:\Programme\Teamspeak2_RC2\client_sdk 
tscontrol.exe get_client_version > tsversion.txt 
tscontrol.exe GET_SERVER_INFO > tsserver.txt 
tscontrol.exe GET_USER_INFO > tsuser.txt 
popd
~~

(wobei natürlich ein Verzeichniswechsel für Deine Anforderung gar nicht nötig ist, wie Atti und ketchup ja demonstriert haben.)

Grüße
Frank / der Biber aus Bremen