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

Inhalt aus Datei als Variable setzen

Frage Entwicklung Batch & Shell

Mitglied: Casper2k

Casper2k (Level 1) - Jetzt verbinden

05.05.2008, aktualisiert 15:00 Uhr, 6790 Aufrufe, 2 Kommentare

Hallo Leute,

ich habe vor mir auf einer Textdatei in der verschiedene Dateinamen die sich auch ständig ändern, als
Variable zu setzen um diese dann weiterverarbeiten zu können.

Der Inhalte der Datei sind Dateinamen und variiert an Anzahl und Bezeichnung und stehen zudem alle untereinander.
Wichtig in dem Fall, ich benötige nicht nur eine Zeile, sondern alle Zeilen als eigene Variablen...

Ich dachte ich komme mit:

FOR /F "delims=, tokens=1-10" %%i IN (\\bad-ts-10\d$\citrix_edgeblood\pruefen.txt) DO call :kopieren %%i

weiter. wenn ich allerdings unter :kopieren dann einfach mal ein echo %1 und ein echo %2 reinpacke, erscheint
unter echo%1 der erste dateinamen was auch richtig ist, aber unter echo %2 nichts.

wenn ich mich nicht irre, würde er mit mit den tokens=1-10 die ersten 10 zeilen als variable angefangen bei "i"
einlesen, oder?

elegenter wäre es natürlich wenn ich keine anzahl hier eingeben müsste und er sich die variablenanzahl selbst füllt.
das geht aber definitiv über meinen horizont hinaus...

kann mir einer weiterhelfen?

cu
Casper
Mitglied: Biber
05.05.2008 um 14:28 Uhr
Moin Casper,

da hast Du nur zu schnell gelesen - mit "tokens 1-10" sind nicht 10 ZEILEN,
sondern 10 Token=Satzteile="Worte" in einer Zeile gemeint.

Für deine Anforderung musst Du selbst die Zeilen nummerieren.
Als CMD-Prompt-Beispiel mal eine Liste aller "r*.txt"-Dateien im/unterhalb des aktuellen Verzeichnisses.
01.
(=14:24:52  D:\temp=) 
02.
>for /f "tokens=1,* delims=:" %i in ('dir /b /s r*.txt^|findstr /n $') do @echo set "myvar%i=%j" 
03.
set "myvar1=D:\temp\RaffIned.txt" 
04.
set "myvar2=D:\temp\Rechnerliste.txt" 
05.
set "myvar3=D:\temp\RevInfo.txt" 
06.
set "myvar4=D:\temp\rsmoutput.txt" 
07.
set "myvar5=D:\temp\Backup1\Admincopy\Anwendungsdaten\Microsoft\Internet Explorer\rsoplog.txt" 
08.
set "myvar6=D:\temp\eins\RevInfo.txt" 
09.
set "myvar7=D:\temp\eins\rsmoutput.txt" 
10.
set "myvar8=D:\temp\olnick\readme.txt"
Wenn Du eine Datei statt (wie ich) eine Bildschirmausgabe hast, musst Du statt "befehl ^|findstr /n $" nehmen:
Findstr /n $ dateiname ----------->(als Inhalt der FOR-Anweisungsklammer).

Grüße
Biber
Bitte warten ..
Mitglied: Casper2k
05.05.2008 um 15:00 Uhr
alles klar, danke dir! habs am laufen
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
gelöst Teil eines Strings als Variable setzen (2)

Frage von tHe-jAy zum Thema Batch & Shell ...

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

Frage von abiber zum Thema Batch & Shell ...

Batch & Shell
Variable setzen können während timeout (3)

Frage von DontFlameMeITryMyBest zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...