10 votes

Comment créer un journal des actions de robocopy et le sauvegarder dans un fichier texte nommé avec la date du jour ?

Je suis en train de copier certains actifs d'un dossier à un autre en utilisant robocopy dans l'invite de commande. Cependant, je veux enregistrer le nom de tous ces actifs copiés dans un fichier .txt. Ce fichier .txt doit être enregistré sous la forme "currentDate.txt".

Scénario réel : Nous allons exécuter un planificateur une fois par jour. Ce planificateur va copier tous les actifs d'un dossier à un autre.

Consultez le lien ci-dessous pour une capture d'écran de la commande Robocopy :

Robocopy

Toute aide sera très appréciée :-)

17voto

DavidPostill Points 140654

Je veux enregistrer le nom de tous ces actifs copiés dans un fichier .txt.

Ce fichier .txt doit être enregistré sous la forme "currentDate.txt".

  • Utilisez la robocopie /log:<LogFile> option.

  • Vous pouvez également utiliser l'option /tee option

    Écrit la sortie d'état dans la fenêtre de la console, ainsi que dans le fichier journal.

Exemple de fichier batch ( copyassets.cmd ):

@echo off
for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (
  set _date=%%a%%b%%c
  )
echo robocopy ship shore /log:%_date%.txt
  • Modifiez comme vous le souhaitez pour obtenir le format de date que vous préférez.
  • Retirez le dernier echo si vous êtes satisfait du format de la date
  • Utilisez /s si votre répertoire source contient des sous-répertoires qui doivent être copiés.

Syntaxe

robocopy <Source> <Destination> [<File>[ ...]] [<Options>]

...

Options de journalisation

...

enter image description here

Source : Robocopy

2voto

Deezy Points 11

Il s'agit d'une solution pour créer un fichier journal différent chaque jour. Il vous suffit d'appeler robocopy dans PowerShell ou dans un fichier de commande batch et de faire votre manipulation de fichier pour qu'il crée le journal, puis renomme le fichier journal à la ligne suivante. L'exemple :

Rename-Item -Path "C:\logs\robocopy.log" -NewName "robocopy-$(Get-Date -F yyyy.MM.dd)$($_.Extension).log"

Le résultat sera un fichier daté comme celui-ci :

robocopy-2021.06.22.log

0voto

dannydan Points 9

Le journal de RoboCopy est au format DOS, ce qui n'est pas très bon Essayez GS RichCopy - il a toutes les fonctions de RoboCopy, mais il a quelques fonctions supplémentaires comme la copie de fichiers ouverts/verrouillés, il peut copier les timestamps, et il a une interface GUI avec un beau journal que vous pouvez facilement copier et coller dans un bloc-notes.

SistemesEz.com

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.

Powered by:

X