Ansicht:   

#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 zur Homepage von 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 zur Homepage von 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 zur Homepage von 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 ?

 :anbet:

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 zur Homepage von fuchsi

Niederösterreich,
10.03.2015, 12:31:56

@ bender

Batch-Problem

> > Sicher, dass Du Dich nicht verschrieben hast ?
>
>  :anbet:
>
> 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 zur Homepage von 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

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz