#380118 bender
Strasshof an der Nordbahn, 10.03.2015, 11:39:00
|
Batch-Problem (pc.coding) |
Hallo,
ich such mir gerade einen ab und komm nicht drauf, warum das nicht geht.
Folgendes: ich soll auf mehreren Rechnern die Mitglieder der lokalen Admingruppe auslesen, aber das nur nebenbei. Konkret geht es um folgendes:
Der Befehl
echo %computername% >> ausgabe.txt
tut das was er soll. Wenn ich das jetzt aber in eine Batch-Datei verpacke, bekomme ich als Ausgabe nur
ECHO ist eingeschaltet (ON).
@ECHO OFF hilft auch nicht wirklich.
Wo hab ich hier ein Brett vorm Kopf?
--
Grüße aus Strasshof an der Nordbahn (ja, da wo die Natascha im Keller lebte)
bender
sudo apt-get install brain_2.0
|
#380121 fuchsi 
Niederösterreich, 10.03.2015, 11:56:47
@ bender
|
Batch-Problem |
ist das das ganze Batch?
Steht das "Echo ist on" in der Textdatei ansattt dem computernamen?
Wird die Textdatei geändert?
--
mein privates Hobby. www.ffzell.at
|
#380122 Karsten Meyer 
Konstanz am Bodensee, 10.03.2015, 11:57:02
@ bender
|
Batch-Problem |
> Hallo,
>
> ich such mir gerade einen ab und komm nicht drauf, warum das nicht geht.
> Folgendes: ich soll auf mehreren Rechnern die Mitglieder der lokalen
> Admingruppe auslesen, aber das nur nebenbei. Konkret geht es um folgendes:
>
> Der Befehl
>
echo %computername% >> ausgabe.txt
> tut das was er soll. Wenn ich das jetzt aber in eine Batch-Datei verpacke,
> bekomme ich als Ausgabe nur
>
ECHO ist eingeschaltet (ON).
> @ECHO OFF hilft auch nicht wirklich.
> Wo hab ich hier ein Brett vorm Kopf?
War da nicht irgendwas mit Variablennamen? Probier mal zwei Prozentzeichen.
--
Ich bin sehr aktiv bei facebook, wo ich vor allem Fotos zeige und mich in Gruppen über alles mögliche, insbesondere meine Heimatstadt Konstanz austausche.
|
#380123 bender
Strasshof an der Nordbahn, 10.03.2015, 12:03:45
@ Karsten Meyer
|
Batch-Problem |
> > Hallo,
> >
> > ich such mir gerade einen ab und komm nicht drauf, warum das nicht geht.
> > Folgendes: ich soll auf mehreren Rechnern die Mitglieder der lokalen
> > Admingruppe auslesen, aber das nur nebenbei. Konkret geht es um
> folgendes:
> >
> > Der Befehl
> >
echo %computername% >> ausgabe.txt
> > tut das was er soll. Wenn ich das jetzt aber in eine Batch-Datei
> verpacke,
> > bekomme ich als Ausgabe nur
> >
ECHO ist eingeschaltet (ON).
> > @ECHO OFF hilft auch nicht wirklich.
> > Wo hab ich hier ein Brett vorm Kopf?
>
> War da nicht irgendwas mit Variablennamen? Probier mal zwei Prozentzeichen.
Wie meinst Du das genau? Da sind doch schon zwei...
--
Grüße aus Strasshof an der Nordbahn (ja, da wo die Natascha im Keller lebte)
bender
sudo apt-get install brain_2.0
|
#380124 bender
Strasshof an der Nordbahn, 10.03.2015, 12:06:00 (editiert von bender, 10.03.2015, 12:06:36)
@ fuchsi
|
Batch-Problem (ed) |
> ist das das ganze Batch?
Nein, da käme noch
net localgroup Administratoren >> ausgabe.txt
dazu, aber der Teil funktioniert. Lediglich die Ausgabe des Computernamens funktioniert nicht - egal ob ich den Rest weglasse oder nicht.
>
> Steht das "Echo ist on" in der Textdatei ansattt dem computernamen?
Genau das.
> Wird die Textdatei geändert?
Durch das >> wird immer unten angefügt, also ja, falls Du das meinst.
--
Grüße aus Strasshof an der Nordbahn (ja, da wo die Natascha im Keller lebte)
bender
sudo apt-get install brain_2.0
|
#380126 fuchsi 
Niederösterreich, 10.03.2015, 12:22:37 (editiert von fuchsi, 10.03.2015, 12:23:05)
@ bender
|
Batch-Problem (ed) |
das verhalten ist typisch, wenn er die Variable in den % zeichen nicht kennt.
Bei meinem Test z.B.:
@echo %computername1% >> ausgabe.txt
kommt es genau zu dem Ergebnis, dass
ECHO ist eingeschaltet (ON).
in der Datei steht
Sicher, dass Du Dich nicht verschrieben hast ?
--
mein privates Hobby. www.ffzell.at
|
#380127 bender
Strasshof an der Nordbahn, 10.03.2015, 12:28:14
@ fuchsi
|
Batch-Problem |
> Sicher, dass Du Dich nicht verschrieben hast ?

Danke das wars. Ich kaufe ein p!
--
Grüße aus Strasshof an der Nordbahn (ja, da wo die Natascha im Keller lebte)
bender
sudo apt-get install brain_2.0
|
#380129 fuchsi 
Niederösterreich, 10.03.2015, 12:31:56
@ bender
|
Batch-Problem |
> > Sicher, dass Du Dich nicht verschrieben hast ?
>
> 
>
> Danke das wars. Ich kaufe ein p!
Selber gemachte Fehler bei meiner programmiererei überlese ich auch oft X-mal, bis ein daran Unbeteiligter mich auf die Verbuxelung hinweist.
--
mein privates Hobby. www.ffzell.at
|
#380137 baeuchlein
10.03.2015, 14:23:34
@ bender
|
What shall's? |
> > War da nicht irgendwas mit Variablennamen? Probier mal zwei
> Prozentzeichen.
>
> Wie meinst Du das genau? Da sind doch schon zwei...
Auch, wenn das eigentliche Problem ja ganz woanders lag: Es gibt einen mir bekannten Fall, wo man *zwei* Prozentzeichen direkt hintereinander benutzen muss, naemlich bei der Schleifenprogrammierung. Beispiel:
c:/asm/cid
set nrs=001 002 003 004 005 006 007 008 009 010
for %%1 in (%NRS%) do if errorlevel %%1 set cid=%%1
Mit diesem (moeglicherweise nicht perfekt programmierten) Codeschnipsel wird abgefragt, ob das Programm "cid" eine der Zahlen von 1 bis 10 als Rueckmeldung (errorlevel) ausgegeben hat, und diese Zahl dann (auf drei Stellen erweitert) in die Variable "cid" eingefuellt. Fuer die in der Schleife benutzte Variable muss man tatsaechlich zwei Prozentzeichen vorneweg schreiben. (Ansonsten gibt's noch %1, %2 usw. fuer die an eine Batch-Datei uebergebenen "Kommandozeilenparameter" bzw. "Optionen".)
Ich vermute mal, darauf wollte Karsten hinaus.
|
#380139 fuchsi 
Niederösterreich, 10.03.2015, 14:44:24 (editiert von fuchsi, 10.03.2015, 14:45:36)
@ baeuchlein
|
What shall's? (ed) |
oder um ein % Zeichen auszugeben im Klatext auszugeben
@echo %%~dp0 = %~dp0
@echo %%username%% = %username%
--
mein privates Hobby. www.ffzell.at
|