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

Inhalte von FOR in Variable geht nicht !?

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

09.02.2015, aktualisiert 24.02.2015, 680 Aufrufe, 9 Kommentare

Hallo Ihr Lieben,

Ich habe eine Liste wo Dateien kopiert werden sollen, die so aufgebaut ist:

; Source-Pfad\, ,Zielpfad\, ,Dateiname oder *.* wenn ALLE!
Beispiel:
Software\Video und Audio\VLC Video Lan Client\, ,Software\Video und Audio\VLC Video Lan Client\, ,*.*

Mein Batch funktioneirt grundsätzlich gut!
Nun will ich noch der Einfachheit halber abprüfen ob in der 3 Spalte (Variable %%k) was drinnen steht.
Wenn nicht würde ich genre ausl Zielpfad den Inhalt aus Spalte 1 (%%i) verwenden.

Leider wird mir mit dem Code

01.
For /F "eol=; delims=, tokens=1-6" %%i in (%liste%) do ( 
02.
	if %%k==x set "Z_V=%%k" 
03.
	if not %%k==x set "Z_V=%%i"
die Variable %Z_V% nicht befüllt, sie ist immer leer!!

Habt ihr einen Tipp ?
Oder einen Vorschlag, wie ich das einfacher lösen kann ?
Mitglied: 114757
09.02.2015, aktualisiert um 12:29 Uhr
die Variable %Z_V% nicht befüllt, sie ist immer leer!!
Stichwort Delayed Expansion
Exkurs (verzögerte) Variablenerweiterung

Gruß jodel32
Bitte warten ..
Mitglied: pbelcl
09.02.2015 um 19:44 Uhr
Danke Jodel32, dann werde ich das wohl mit einem Call auf eine Unterbatch lösen müssen!
Bitte warten ..
Mitglied: 114757
09.02.2015, aktualisiert um 20:37 Uhr
Zitat von pbelcl:

Danke Jodel32, dann werde ich das wohl mit einem Call auf eine Unterbatch lösen müssen!
Wieso ? Nö ...
01.
@echo Off & setlocal enabledelayedexpansion 
02.
For /F "eol=; tokens=1-6 delims=," %%a in (%liste%) do ( 
03.
	if "%%c"=="" (set "Z_V=%%a") else (set "Z_V=%%c") 
04.
        echo !Z_V! 
05.
)
Bitte warten ..
Mitglied: pbelcl
09.02.2015 um 20:56 Uhr
Nun ja, diese Lösung hat sich für mich aus der Doku nicht erschlossen
Muss mich in diesem Fall was Schleifen betrifft auch eher als Anfänger outen .....

Danke vorerst mal, werd mich in den nächsten Tagen mit deinem Vorschlag bschäftigen, mal sehen was ich daraus umsetzen und auch verstehen kann.
Heute gehts jedenfalls nicht mehr
Bitte warten ..
Mitglied: pbelcl
24.02.2015 um 10:43 Uhr
Hi Jodel32,

Danke für deinen Tipp. Sorry für die lange Wartezeit, aber ich habe leider nicht sehr viel Ruhe und kann mich daher nur selten um meine Batchdateien kümmern.
Heute wars wieder soweit

Hab deinen Vorschlag eingebaut und leider kein Ergebnis damit erzielt ;-(
Genauer habe ich folgenden Code:

@echo off & chcp 1252 
setlocal enabledelayedexpansion  
 
set "Z_LW=d:"  
set "Q_LW=p:" 
 
For /F "eol=; tokens=1-6 delims=," %%i in (%Z_LW%\!FileCopy.txt) do (  
	if "%%k"=="" (set "Z_V=%%i") else (set "Z_V=%%k")  
	echo I:%%i 
	echo J:%%j 
	echo K:%%k 
	echo L:%%l 
	echo M:%%m 
	echo ZV==%Z_V% 
pause



Es werden zwar wunderbar die Inhalte vom %%i - %%m in der Liste angezeigt, aber die Variable %Z_V% bleibt leider leer ;-(
Habe ich was falsch gemacht??
Bitte warten ..
Mitglied: 114757
LÖSUNG 24.02.2015, aktualisiert um 11:27 Uhr
Zitat von pbelcl:
Habe ich was falsch gemacht??
Ja, du hast keine Anführungszeichen anstatt Prozentzeichen um die Variable gesetzt !!!
echo !Z_V!
Les doch bitte das obig verlinkte Tutorial zu delayed expansion !

Gruß jodel32
Bitte warten ..
Mitglied: pbelcl
24.02.2015, aktualisiert um 11:36 Uhr
Sorry DAS hatte ich gelesen, aber noch nicht richig verstanden!
Sieht jetzt gut aus, werde es mal in der Praxis ausprobieren und mich dann nochmal melden!
Bitte warten ..
Mitglied: 114757
24.02.2015, aktualisiert um 12:40 Uhr
Zitat von pbelcl:
Sorry DAS hatte ich gelesen, aber noch nicht richig verstanden!
och mönsch Google kaputt ? http://ss64.com/nt/delayedexpansion.html
Bitte warten ..
Mitglied: pbelcl
24.02.2015 um 12:46 Uhr
Nicht so streng mit den Anfängern..
Ich arbeite noch einige Ebenen unter euch

Habs übrigens gerade mit deiner Hilfe gelöst, DANKE!!
Bitte warten ..
Ähnliche Inhalte
Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (12)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...

Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

VB for Applications
gelöst Formelergebnis in Variable speichern (1)

Frage von Juweee zum Thema VB for Applications ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...