Wert aus txt-Datei auslesen und Ordner danach benennen.
Guten Morgen,
ich versuche einen Wert aus einer txt-Datei auszulesen (hier 4. Zeile, Wert nach einem "=" oder "-" -Zeichen) um danach unter diesem Wert einen Ordner anzulegen.
Ich kriege aber nur die erste Zeile ausgegeben.
ich versuche einen Wert aus einer txt-Datei auszulesen (hier 4. Zeile, Wert nach einem "=" oder "-" -Zeichen) um danach unter diesem Wert einen Ordner anzulegen.
Ich kriege aber nur die erste Zeile ausgegeben.
Please also mark the comments that contributed to the solution of the article
Content-Key: 208871
Url: https://administrator.de/contentid/208871
Printed on: April 19, 2024 at 15:04 o'clock
10 Comments
Latest comment
Hallo yearlight,
mit folgendem VBS-Script kein Problem:
FILEPATH -> deine Textdatei
BASEFOLDER -> Basis-Ordner in dem der neue Ordner erstellt werden soll (Wenn dein Wert schon einen ganzen Pfad enthält musst du in der letzten Zeile das
Grüße Uwe
mit folgendem VBS-Script kein Problem:
FILEPATH -> deine Textdatei
BASEFOLDER -> Basis-Ordner in dem der neue Ordner erstellt werden soll (Wenn dein Wert schon einen ganzen Pfad enthält musst du in der letzten Zeile das
BASEFOLDER & "\" &
entfernen. Das Script geht davon aus das dein String in Zeile 4 steht.FILEPATH = "C:\test.txt"
BASEFOLDER = "C:\Basefolder"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objText = objFSO.OpenTextFile(FILEPATH, 1)
allArray = Split(objText.ReadAll,vbCrLf)
objText.Close()
strWertArray = Split(allArray(3),"=")
If UBound(strWertArray) > 0 Then
strFolderName = Trim(strWertArray(1))
Else
strFolderName = Trim(Split(allArray(3),"-")(1))
End If
objFso.CreateFolder(BASEFOLDER & "\" & strFolderName)
Steht in dem Wert hinter dem Gleichheitszeichen ein Absoluter Pfad in deiner Datei oder ein relativer ?
für einen relativen nehme das hier und setze in Zeile 2 den Basisordner in dem der neue erstellt werden soll.
bei einem absoluten Pfad das hier:
für einen relativen nehme das hier und setze in Zeile 2 den Basisordner in dem der neue erstellt werden soll.
@echo off & setlocal ENABLEDELAYEDEXPANSION
set BASISORDNER=C:\Basisordner
for /f "skip=3 tokens=* delims=" %%k in ('type "ServiceInfo.txt"') do @(
set wert=%%k
for /f "tokens=2 delims==-" %%m in ("!wert!") DO @(
set neuerOrdner=!BASISORDNER!\%%m
md "!neuerOrdner!"
goto ENDE
)
)
:ENDE
copy deinedatei.txt "!neuerOrdner!"
bei einem absoluten Pfad das hier:
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f "skip=3 tokens=* delims=" %%k in ('type "ServiceInfo.txt"') do @(
set wert=%%k
for /f "tokens=2 delims==-" %%m in ("!wert!") DO @(
set neuerOrdner=%%m
md "!neuerOrdner!"
goto ENDE
)
)
:ENDE
copy deinedatei.txt "!neuerOrdner!"
Stimmt, geht ja viel simpler, hab heut' nen Batch-Brett vorm Kopf
Danke Endoro
Danke Endoro
Noch zur Info: Bitte markiere den Beitrag als gelöst. Siehe dazu die FAQ
Merci
Merci