Systemgenerierter Dateiname mit Zeitstempel im Batch-Skript

MD Aminul Islam 12 Juli 2022
Systemgenerierter Dateiname mit Zeitstempel im Batch-Skript

Manchmal generieren wir Systemprotokolle aus einem Batch-Skript. Das Problem hier ist jedoch der Name der Protokolldatei; Wenn der Dateiname nicht eindeutig ist, kann er die gleichnamige Datei ersetzen.

In diesem Artikel werden wir sehen, wie wir anhand der aktuellen Uhrzeit und des aktuellen Datums einen eindeutigen Dateinamen vom System generieren können. Außerdem werden wir einen Code und seine Erklärung besprechen, um ihn verständlicher zu machen.

Vom System generierter Dateiname mit Zeitstempel im Batch-Skript

Wir verwenden hier Zeit und Datum, da Zeit und Datum nicht immer gleich sind und Aufschluss über den Dateinamen geben. Im folgenden Beispiel generieren wir eine Protokolldatei mit dem Namen, der aus der Kombination von Uhrzeit und Datum besteht.

Der Code für unser Beispiel sieht wie folgt aus:

@ECHO off
SET YY=%date:~10,4%
SET MM=%date:~4,2%
SET DD=%date:~7,2%
SET HH=%time:~0,2%
IF %HH% lss 10 (SET HH=0%time:~1,1%)

SET NN=%time:~3,2%
SET SS=%time:~6,2%
SET MS=%time:~9,2%

SET NEWFILENAME=%YY%%MM%%DD%-%HH%%NN%%SS%
ECHO "This is a data" > "G:\Directory\access_%NEWFILENAME%.txt"

Denken Sie daran, dass Batch integrierte Variablen für Zeit und Datum enthält; diese sind %time% und %date%. Diese Variablen erzeugen Zeit und Datum in einem Zeichenfolgenformat.

In unserem Code haben wir die Teile des Datums mithilfe dieser Zeilen von der Zeichenfolge getrennt:

SET YY=%date:~10,4%
SET MM=%date:~4,2%
SET DD=%date:~7,2%

In ähnlicher Weise haben wir die Teile der Zeit mit diesen Zeilen von der Zeichenfolge getrennt:

SET HH=%time:~0,2%
IF %HH% lss 10 (SET HH=0%time:~1,1%)

SET NN=%time:~3,2%
SET SS=%time:~6,2%
SET MS=%time:~9,2%

Dann haben wir den Dateinamen mit der Kombination aus Uhrzeit und Datum mit der Zeile erstellt:

SET NEWFILENAME=%YY%%MM%%DD%-%HH%%NN%%SS%

Und zuletzt haben wir eine Datei mit dem vom System generierten Namen in einem bestimmten Verzeichnis mit der folgenden Zeile erstellt:

ECHO "This is a data" > "G:\Directory\access_%NEWFILENAME%.txt"

Wenn Sie dieses Skript an Ihrer Eingabeaufforderung ausführen, sehen Sie eine Datei, deren Name die Kombination aus Datum und Uhrzeit ist. Und die Datei enthält den Text This is a data.

Bitte beachten Sie, dass der Code, den wir in diesem Artikel geteilt haben, in Batch-Skript geschrieben ist und nur in der Windows-Eingabeaufforderungsumgebung ausgeführt wird.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn