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

Substring ? Batch

Frage Entwicklung Batch & Shell

Mitglied: Antum-frischling

Antum-frischling (Level 1) - Jetzt verbinden

24.03.2014, aktualisiert 17:49 Uhr, 1546 Aufrufe, 5 Kommentare, 2 Danke

Guten Tag liebe Programmierer,

ich habe ein kleines Problem und zwar ich möchte von einem Datei die ersten 11 Zeichen übernehmen und wonaders hinzufügen

zb. 2014-03-24-HalloWelt.txt soll in OrdnerA verschoben werden und zu 2014-03-24-erledigt.txt umbenannt werden. Wie sieht so ein Code aus?

Hab hier mal ein Beispiel, wie es grundsätzlich geht, aber ich weiss nicht wie ich den Ordner Name angeben könnte. Man könnte es eventuell als ein variablen festlegen das der Pfad 2014-03-24-HalloWelt.txt machen, weil der Datei-Namen sich immer ändern wird, aber ich wüsste nicht wie sowas aussieht,

SET _test=123456789abcdef0

SET _result=%_test:~0,5%
ECHO %_result% =12345

komme einfach nicht weiter.

Kann mir da weiter helfen bitte

Mitglied: Endoro
24.03.2014 um 18:14 Uhr
Hey, zwei Beispiele:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
SET "FName=2014-03-24-HalloWelt.txt" 
03.
SET "N1Name=%FName:~0,11%erledigt.txt" 
04.
ECHO %N1Name% 
05.
FOR /f "tokens=1-3delims=-" %%a IN ("%FName%") DO SET "N2Name=%%a-%%b-%%c-erledigt.txt" 
06.
ECHO %N2Name%
Für Hilfe siehe set /? und for /?.
Gruss Endoro.
Bitte warten ..
Mitglied: Antum-frischling
25.03.2014, aktualisiert um 11:21 Uhr
Vielen dank für deine Hilfe, soweit klappt es wunderbar, aber ich müsste es so um ändern, dass der die Datei Name verändert, es wird nur auf der CMD angezeigt.

die erste variante ist ein feste variable oder ?
von daher wäre die 2 möglichkeit am besten, weil der name sich immer ändern wird (datum)

dafür kann ich doch ren benutzten oder sieht dieser Befehl wieder anderes
Bitte warten ..
Mitglied: Endoro
25.03.2014 um 12:57 Uhr
Hey,
ja REN ist richtig:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
CD /c X:\My Folder 
03.
FOR /f "delims=" %%x IN ('DIR /b /a-d *-*-*-*.txt') DO ( 
04.
	FOR /f "tokens=1-3delims=-" %%a IN ("%%~x") DO ( 
05.
		REN "%%~x" "%%a-%%b-%%c-erledigt.txt" 
06.
07.
)
Gruss Endoro.
Bitte warten ..
Mitglied: Antum-frischling
25.03.2014, aktualisiert um 16:20 Uhr
Vielen dank Endoro,

ich hätte noch eine letzte Frage, ich habe jetzt diese einfache Code genommen und kann ich bei diesem Code auch den Pfad angeben. zb

nehme den Pfad von D:\User\Guenni\OrdnerA\*.txt

hab den * genommen, weil die Zeichen vom Datum immer gleich lang sind und er soll einfach schauen, dass er einfach das mit dem txt-datei nehmen soll.

das wäre meine aktuelle Code
SET FName=2014-03-24-HalloWelt.txt
SET N1Name=%FName:~0,11%erledigt.txt

ren D:\Users\Guenni\Desktop\OrdnerA\2014-03-24-HalloWelt %N1Name%


und ich möchte sowas wie

SET FName=D:\Users\Guenni\Desktop\OrdnerA\*-HalloWelt.txt =>dort könnte morgen 2014-03-25 drin stehen oder eine anderes Datum
SET N1Name=%FName:~0,11%erledigt.txt

ren D:\Users\Guenni\Desktop\OrdnerA\2014-03-24-HalloWelt %N1Name%

wenn sowas nicht geht,dann würde ich auch eine andere alternative nehmen

Ich habe mal dein Code mal genommen und mit meine Sachen hinzugefügt


@ECHO OFF &SETLOCAL disableDelayedExpansion

cd /c D:\Users\Guenni\Desktop\Hey\

FOR /f "delims=" %%x IN ('DIR /b /a-d *-*-*-*.txt') DO (

FOR /f "tokens=1-3delims=-" %%a IN ("%%~x") DO (

REN "%%~x" "%%a-%%b-%%c-erledigt.txt"
)
)

pause

ich bin zu doof für batch :S irgendwie läuft da nichts :S
Bitte warten ..
Mitglied: Endoro
25.03.2014 um 17:10 Uhr
In der ersten For-Schleife werden mit dem Muster *-*-*-*.txt alle Dateien bearbeitet, die mindestens drei Striche und die Endung .txt haben. In der zweiten Schleife wird der (immer andere) Name ausenander genommen und anschliessend wieder zusammengesetzt und um "erledigt.txt" ergänzt. Du kannst die Dateien umbenannt auch gleich in einen Ordner verschieben:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
CD /c X:\My Folder 
03.
FOR /f "delims=" %%x IN ('DIR /b /a-d *-*-*-*.txt') DO ( 
04.
	FOR /f "tokens=1-3delims=-" %%a IN ("%%~x") DO ( 
05.
		MOVE "%%~x" "Y:\FOLDER\%%a-%%b-%%c-erledigt.txt" 
06.
07.
)
Gruss Endoro.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch in RAR (1)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...