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

Per findstr eine varible setzen nach einem istgleich im text

Frage Entwicklung Batch & Shell

Mitglied: DerBilaJoe

DerBilaJoe (Level 1) - Jetzt verbinden

23.03.2014 um 21:46 Uhr, 970 Aufrufe, 6 Kommentare

hallo,

zurzeit bastle ich eine Batch, die beliebige ordner zu einer rar datei packt. Soweit geht es schon, aber würde noch gerne einen Punkt hinzufügen, der diese benötigten variablen aus einer datei liest, wenn man den festgelegten ordner mehrmals packen möchte (wenn er sich verändert hat).
Die datei in dem die Variablen festgelegt sind sieht in etwa so aus:

<code>
inputfolder=c:\example\
outputfolder=d:\backup\
name=soheistdasarchiv
/<code>

Kann man per findstr die pfade nach dem = zu variablen setzen oder gibt es eine andere Lösung für das Problem?

Wenn es unklarheiten gibt, einfach bescheid sagen.

Danke im Voraus für die Hilfe
Mitglied: bastla
23.03.2014 um 22:06 Uhr
Hallo DerBilaJoe und willkommen im Forum!

Wozu brauchst Du "findstr"? Befinden sich in der Datei auch noch andere Zeilen? Falls nicht, sondern nur die von Dir dargestellten, sollte doch etwas in der Art genügen:
for /f "usebackq delims=" %%i in ("D:\Pfade.txt") do set "%%i"
Wenn aber tatsächlich nur die Zeilen mit einem "=" benötigt werden, etwa so:
for /f "delims=" %%i in ('findstr "=" "D:\Pfade.txt"') do set "%%i"
Grüße
bastla
Bitte warten ..
Mitglied: DerBilaJoe
23.03.2014 um 22:11 Uhr
Danke für die schnelle antwort. Ich werde es morgen gleich ausprobieren und bescheidsagen ob es funktioniert hat.
Bitte warten ..
Mitglied: DerBilaJoe
24.03.2014 um 13:58 Uhr
Hallo bastla,

ich habe eben deine Vorschläge getestet. Leider muss ich zugeben, dass dabei nicht das gewünschte Ergebnis herauskommt.

bei (for /f "usebackq delims=" %%i in ("D:\Pfade.txt") do set "%%i") kommt als Ergebnis "inputfolder=c:\example raus. Das Ergebnis soll aber nur "c:\example" lauten.

ebenso bekomme ich das gleiche Ergebnis wie oben auch bei deiner 2. Lösung --> for /f "delims=" %%i in ('findstr "=" "D:\Pfade.txt"') do set "%%i"

Gibt es eventl. noch andere Möglichkeiten einen Text mit einem "=" zu einer Variable setzen, ohne den Text VOR dem "=" miteinbezogen wird?
Bitte warten ..
Mitglied: bastla
LÖSUNG 24.03.2014, aktualisiert um 15:37 Uhr
Hallo DerBilaJoe!

Eigentlich hatte ich angenommen, Du wolltest die Pfade den Variablen zuweisen - wenn dem nicht so sein sollte, dann kannst Du natürlich mit
for /f "tokens=2 delims==" %%i in ('findstr "=" "D:\Pfade.txt"') do set "Pfad=%%i"
auch nur den Teil nach dem "=" erhalten - allerdings frage ich mich (bzw Dich ), warum Du das willst ...

Grüße
bastla
Bitte warten ..
Mitglied: DerBilaJoe
24.03.2014 um 15:36 Uhr
Hallo,

Erstmal Danke für deine Hilfe, der Script funktioniert jetzt.
Der Text vor dem "=" legt nur fest, um welche variablen es sich in der Datei handelt.
Bitte warten ..
Mitglied: bastla
24.03.2014 um 15:49 Uhr
Hallo DerBilaJoe!
Der Text vor dem "=" legt nur fest, um welche variablen es sich in der Datei handelt.
Das ist mir schon klar - ich weiß nur nicht, wozu Du nur den Wert haben willst, anstatt wie in meinem ersten Vorschlag gleich direkt die Zuweisung an die Variable vorzunehmen und dann eben zB %inputfolder% zu verwenden ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mal eine neue Art von Abfrage mit findstr (8)

Frage von DaTobsn zum Thema Batch & Shell ...

Administrator.de Feedback
gelöst Text nach Smiley Symbol auf iPad weg (5)

Frage von Deepsys zum Thema Administrator.de Feedback ...

Windows Tools
gelöst Findstr und regex (5)

Frage von tobmes zum Thema Windows Tools ...

Batch & Shell
gelöst Dateinamen mittels findstr aus einer TXT auslesehen (14)

Frage von Diamond72 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
gelöst 802.1X-Authentifizierung (17)

Frage von Alex29 zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Proxy Server Settings Cloud + EWS (16)

Frage von SomebodyToLove zum Thema Exchange Server ...