0
votes

Comment copier un dossier entier avec date / heure actuelle dans le nom du dossier de destination?

J'ai essayé beaucoup de chercher et de travailler, mais je suis incapable de contourner ce problème collant et de demander de l'aide. Presque toutes les solutions parlent du fichier Renommer, mais je cherche une copie de dossier et renommer. (Je ne suis pas un expert lot ou cmd.)

J'ai une exigence comme ci-dessous où j'ai deux répertoires:

Source: C: \ temp \ Lr_results \
Destination: C: \ temp \ html_reports \

J'ai un dossier avec nom html_report répertoire source C: \ temp \ lr_results \ que je veux copier sur le répertoire de destination c: \ temp \ html_reports \ .

L'exigence est qu'un horodatage doit être ajouté. Pour le nom de dossier html_report sur la copie de la destination c: \ temp \ html_reports \ à partir de la source c: \ temp \ lr_results \ .

la structure de répertoire résultante devrait donc ressembler à: xxx

L'horodatage doit être la date / heure actuelle.

Comment peut-on Cela se fait avec un fichier de commandes?


3 commentaires

Déplacer , Copier et Ren avec des fichiers et des dossiers, donc je ne peux donc pas imaginer, quel est votre problème. Pouvez-vous s'il vous plaît montrer votre code non encore de travail et expliquer ce qui ne fonctionne pas exactement comme prévu?


Impossible d'ajouter ce code dans la modification :( Obtenir une erreur. En fait, j'ai essayé de déplacer la copie et les commandes de Ren séparément, mais je ne savais pas comment ajouter un timbre de temps et comment les obtenir dans un fichier BAT. N'importe quel @Mofi a profitaté les liens que je vais essayer d'intégrer le code horodatage et voir comment cela se passe de là


Merci à @MOFI pour les liens et Stephan pour ces astuces simples, je travaillais réellement sur un code compliqué pour faire tout en un. Maintenant, j'ai un fichier BAT séparé pour copier le dossier et un autre pour renommer le dossier avec horodatage à l'aide du code du lien partagé par mofi


3 Réponses :


0
votes

Je partage le mécanisme de formatage de la date ci-dessous. Cela vous aidera certainement à créer votre solution.

set foldername=folder1
echo %foldername%_%date:~-4,4%%date:~-7,2%%date:~-10,2%%time:~0,2%%time:~3,2%


0 commentaires

0
votes

La solution qui a fonctionné pour moi est aussi ci-dessous.

Oui, il n'a que renommer avec l'heure actuelle de la date. Pour copier le dossier, j'ai utilisé la solution d'interface de commande Inbuild Commandline fourni avec l'équipe City Server, puis j'ai appelé le fichier Rename.bat qui a fait le tour pour moi.

ci-dessous est le code de renommée. : xxx

définitivement pas le plus efficace mais fonctionne pour moi.


2 commentaires

Vous devriez renommer "html_report" "html_report_% myDate% _% myTime%" . % Time% aura une place avant 10 heures, ce qui conduit à une erreur de syntaxe sans citations. (Aussi, j'espère que votre %%% est au format 24H. Le format 12H (avec AM / PM) peut conduire à des résultats inattendus.


Sur mon ordinateur date / t me donne 21.06.2020 . C'est une bonne raison d'utiliser un Méthode indépendante de la langue pour obtenir une chaîne de date / heure



1
votes

Le code suivant peut être utilisé pour obtenir la date et l'heure actuelles au format dd_mm_yyyy_hhmmss code> sans que le pays est configuré pour le compte utilisé pour exécuter le fichier de commandes:

@for /F "tokens=1-6 delims=/: " %%I in ('%SystemRoot%\System32\robocopy.exe "%SystemDrive%\|" . /NJH') do @%SystemRoot%\System32\robocopy.exe "C:\temp\LR_Results\HTML_Report" "C:\temp\HTML_Reports\HTML_Report_%%I-%%J-%%K_%%L%%M%%N" /E /R:3 /W:2 /NDL /NFL /NJH /NJS & goto :EOF


0 commentaires