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, 1554 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
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Windows 10 Batch für Datum und Uhrzeit setzen (18)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...