Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Variable bleibt Null

Frage Entwicklung Batch & Shell

Mitglied: Aldeeer

Aldeeer (Level 1) - Jetzt verbinden

05.03.2009, aktualisiert 08:25 Uhr, 3507 Aufrufe, 8 Kommentare

Hallo,
ich bin es mal wieder.

Und zwar habe ich mir eine Schleife gebaut die mir die Zeilen einer Datei zählen soll. Das klappt fast auch Perfekt ausser:
Wenn ich die Variable in eine Datei schreiben lasse mit

Set zeilen >> zeilen.txt

wird mir das richtige Ergebnis angezeigt.
Sobald ich die Variable mit

echo %zeilen% >> zeilen.txt

schreibe wird nur Null ausgegeben. Und somit kann ich die Variable auch nicht weiter Verwenden.

Hier mal der Code:

Set zeilen=0

IF EXIST %datei_arbeitskopie% (
FOR /F "delims= " %%a IN (%datei_arbeitskopie%) do (
Set /a zeilen+=1
echo %zeilen% >> _zeilen.txt
)
......Und noch ein bissl was.....
)

Schönen Tag euch

Gruß Aldeeer
Mitglied: paulepank
05.03.2009 um 09:31 Uhr
Hallo Aldeer,

ich würde es so machen:

01.
for /f "delims=:" %%i in ('findstr /n /r "." %datei_arbeitskopie%') do @set zeilen=%%i
cu paulepank
Bitte warten ..
Mitglied: Aldeeer
05.03.2009 um 09:47 Uhr
Kann die dann aber leider nicht Weiterverarbeiten.
Nächste Schleife sieht dann so aus:

FOR /F "skip=%zeilen% tokens=1-4 delims= " %%a IN (%datei_logpars%) DO (
....macht was.....
)

Bringt er mir Syntaxfehler bei %zeilen%
Bitte warten ..
Mitglied: bastla
05.03.2009 um 10:48 Uhr
Hallo Aldeeer!

Gibt es um diesen Teil Deines Batches herum noch eine weitere Schleife oder ein mehrzeilige "if-Konstrukt? Damit ließe sich erklären, warum %zeilen% in Deinem ersten Ansatz immer den Wert 0 liefert, bzw warum bei Verwendung von paulepanks Vorschlag (meiner hätte fast genauso ausgesehen) %zeilen% gar keinen Inhalt zu haben scheint: das Stichwort lautet "delayed Expansion".

Wenn Du vor Deiner Schleife mit
setlocal enabledelayedexpansion
die "verzögerte Variablenauflösung" ermöglichst, kannst Du innerhalb der Schleife mit der Schreibweise
!zeile!
auch den aktuellen Wert der Variablen erhalten - die herkömmliche Schreibweise %zeile% liefert nur den Wert zu Beginn der Schleife.

Grüße
bastla
Bitte warten ..
Mitglied: Aldeeer
05.03.2009 um 10:57 Uhr
Genau das ist es! Vielen Dank!
Aber wie kann ich nun die Variable %zeilen% bzw !zeilen! in der nächsten Schleife ansprechen so das diese unter Skip=*variable* Verwendet wird?

Gruß Aldeeer
Bitte warten ..
Mitglied: bastla
05.03.2009 um 11:34 Uhr
Hallo Aldeeer!

Hast Du es denn mit
FOR /F "skip=!zeilen! tokens=1-4 delims= " %%a IN (%datei_logpars%) DO (
schon versucht?

Grüße
bastla
Bitte warten ..
Mitglied: Aldeeer
05.03.2009 um 12:00 Uhr
Ja habe ich. Aber da gibt er mit Systanxfehler aus. Der sieht dann !zeilen! nur als Wort.

Gruß
Bitte warten ..
Mitglied: Aldeeer
05.03.2009 um 12:53 Uhr
So nun geht es wie es aussieht.
Ich habe einfach in der IF Bedingung eine Sprungmarke gesetzt. somit kann ich mit % Arbeiten und bekomme keinen Fehler mehr.

Vielen Dank an euch für die Hilfe.

Gruß Aldeeer
Bitte warten ..
Mitglied: Biber
05.03.2009 um 13:46 Uhr
<OT>
Aber da gibt er mit Systanxfehler aus
Hat ich noch nie, hört sich aber echt beeindruckend an *Respekt*
</OT>

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Führende Nullen hinzufügen (6)

Frage von Erik72 zum Thema Batch & Shell ...

Microsoft Office
gelöst Bedingte Formatierung in Excel, wenn zweite Dezimalstelelle nicht eine Null ist (11)

Frage von winget zum Thema Microsoft Office ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Datenbanken
Informix SE Tabelle alle Felder auf NULL prüfen (4)

Frage von RalfHackmann zum Thema Datenbanken ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...