J'ai programmé une sauvegarde script qui fait le dump de la base de données. Comment puis-je ajouter l'horodatage de la date au nom du fichier ?
Je parle de Windows et de CMD.
J'ai programmé une sauvegarde script qui fait le dump de la base de données. Comment puis-je ajouter l'horodatage de la date au nom du fichier ?
Je parle de Windows et de CMD.
Dans l'invite de commande et les fichiers batch, vous pouvez utiliser %date%
y %time%
pour retourner la date et l'heure respectivement. La date fonctionne bien, mais la valeur de l'heure renvoyée contient des deux-points, qui sont illégaux dans les noms de fichiers, mais il existe un moyen de les supprimer.
Utilisez quelque chose comme :
COPY file.txt file_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
Cela produira un nom de fichier tel que file_172215_01062009.txt
更新しています。 Les commentaires ci-dessous donnent des tournures intéressantes à cette commande ainsi que des problèmes potentiels que vous pouvez éviter.
を使用します。 %DATE%
et/ou %TIME
des variables d'environnement, en substituant éventuellement les caractères qui ne sont pas autorisés dans les noms de fichiers, en utilisant %name:from=to%
( %TIME::=%
supprimerait tous les deux-points).
theory » echo %date%
2009-06-01
theory » echo %time%
16:30:41,46
theory » echo %time::=%
163052,17
theory » echo %time::=,%
16,30,58,68
theory » echo backup-%date%-%time::=-%.zip
backup-2009-06-01-16-31-18,82.zip
Le seul moyen fiable d'obtenir une date appropriée, quel que soit le paramètre régional, est la solution de foxidrive @. https://stackoverflow.com/questions/11037831/filename-timestamp-in-Windows-cmd-batch-script
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
Utilisez la variable %DATE% dans le nom du fichier.
Il existe également une variable %TIME%, mais elle contient des caractères non autorisés dans un nom de fichier.
Voici un exemple d'écriture d'une ligne de texte dans un nouveau fichier, où le fichier créé a une date et une heure dans son nom.
echo "testfile" >> backup-%DATE%.txt
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.