Batch-Befehl Echo
Hallo,
ich möchte mir mit dem Echo-Befehl das Änderungsdatum einer Datei ansehen bzw. später evtl. noch auswerten.
Ich kann machen was ich will, habe m.E. alles Schreibweisen ausprobiert aber ich bekomme das mit dem echo-Befehl nicht hin.
Was mache ich falsch?
Des Weiteren habe ich eine andere Frage:
Damit ich euch nicht immer wegen Kleinigkeiten belästigen muss: Gibt es empfehlenswerte Literatur / Bücher zum Thema "Batchprogrammierung" (unter Windows11)?
LG waholin
ich möchte mir mit dem Echo-Befehl das Änderungsdatum einer Datei ansehen bzw. später evtl. noch auswerten.
Ich kann machen was ich will, habe m.E. alles Schreibweisen ausprobiert aber ich bekomme das mit dem echo-Befehl nicht hin.
Was mache ich falsch?
@echo off & setlocal
set "Quelle=W:\Programmierung\Batch\Data"
set "Ziel=W:\Programmierung\Batch"
set "Typ=pdf"
set "down=Downloads"
set "SK_Kto=Kontoauszug"
set "SK_Mtg=Mitteilung"
set "SK_Inf=informieren"
: Kontoauszug
for %%a in ("%quelle%\*%SK_Inf%*.%typ%") do (
for /f "tokens=2 delims=_" %%b in ("%%~na") do (
if not exist "%ziel%\%SK_Inf%\%%b" md "%ziel%\%SK_Inf%\%%b" >nul
:: move "%%a" "%ziel%\%SK_Inf%\%%b\"
set Datum=%%~ti
::schneidet die letzte 6 stellen (Uhrzeit) weg
set "Datum=!Datum:~,-6!"
Echo: %Datum%
pause
)
)
Des Weiteren habe ich eine andere Frage:
Damit ich euch nicht immer wegen Kleinigkeiten belästigen muss: Gibt es empfehlenswerte Literatur / Bücher zum Thema "Batchprogrammierung" (unter Windows11)?
LG waholin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668106
Url: https://administrator.de/forum/batch-befehl-echo-668106.html
Ausgedruckt am: 21.12.2024 um 14:12 Uhr
9 Kommentare
Neuester Kommentar
Damit ich euch nicht immer wegen Kleinigkeiten belästigen muss: Gibt es empfehlenswerte Literatur / Bücher zum Thema "Batchprogrammierung" (unter Windows11)?
Wenn es unbedingt Batch sein soll, bidde:
Hier ein paar Links bzgl. Batches
Und hier etwas Lesefutter bzgl. Windows Batch:
- Windows Batch Grundlagen
- Batch-Grundlagen
- Batch - ein paar Basics die man kennen sollte
- [Workshop Batch for Runaways - Part I - Beispiel FindLongPath.Bat Bedenklich lange Pfade finden
- Workshop Batch for Runaways - Part II - Ein bisschen Handwerkszeug
- Workshop Batch for Runaways - Part III - Datums- und Zeitvariablen im Batch
- HowTo - Wie man Subroutinen in Batchfiles erstellt
- Tutorial zur FOR-Schleife
- SS64 Delayed Expansion
- CMD Echo in fett kursiv oder unterstrichen ausgeben
- Windows console with ANSI colors handling
- MSDN Console Virtual Terminal Sequences
https://www.tutorialspoint.com/batch_script/index.htm
Viel Spaß
Gruss Penny.
Moin,
falls es bei dir noch nicht angekommen sein sollte: Batch ist von vorgestern. Das brauchst du nicht mehr lernen. Zieh dir lieber die Powershell rein.
Gruß
Damit ich euch nicht immer wegen Kleinigkeiten belästigen muss: Gibt es empfehlenswerte Literatur / Bücher zum Thema "Batchprogrammierung" (unter Windows11)?
falls es bei dir noch nicht angekommen sein sollte: Batch ist von vorgestern. Das brauchst du nicht mehr lernen. Zieh dir lieber die Powershell rein.
Gruß
Stichwort "Delayed Expansion". Variablen die man in Klammerkontexten setzt sind dort nur über DelayedExpansion abrufbar und müssen in Ausrufezeichen statt Prozentzeichen eingefasst werden weil der Interpreter die Expandierung nur einmalig vornimmt (geklammerte Ausdrücke sind quasi eine einzige Zeile für Batch.
p.s. Mit Powershell ist das obige einsortieren ein Einzeiler
@echo off & setlocal enabledelayedexpansion
REM ........ rest ......
set "Datum=%%~ti"
echo !Datum!
p.s. Mit Powershell ist das obige einsortieren ein Einzeiler
Get-ChildItem -LiteralPath "W:\Programmierung\Batch\Data" -File -Filter "*informieren*.pdf" | move-item -Destination {(New-Item -Type Dir -Path "$($_.DirectoryName)\informieren\$($_.Basename.split("_")[1])" -Force).FullName} -verbose