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: p>
Source: strong> J'ai un dossier avec nom L'exigence est qu'un horodatage doit être ajouté. Pour le nom de dossier la structure de répertoire résultante devrait donc ressembler à: p> L'horodatage doit être la date / heure actuelle. P> Comment peut-on Cela se fait avec un fichier de commandes? p> p> C: \ temp \ Lr_results \ code>
C: \ temp \ html_reports \ code> p>
html_report code> répertoire source
C: \ temp \ lr_results \ code> que je veux copier sur le répertoire de destination
c: \ temp \ html_reports \ code>. P>
html_report code> sur la copie de la destination
c: \ temp \ html_reports \ code> à partir de la source
c: \ temp \ lr_results \ code>. p>
3 Réponses :
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%
La solution qui a fonctionné pour moi est aussi ci-dessous.
Oui, il n'a que ci-dessous est le code de renommée. : p> définitivement pas le plus efficace mais fonctionne pour moi. p> p> renommer code> 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. P>
Vous devriez renommer "html_report" "html_report_% myDate% _% myTime%" code>.
% Time% code> aura une place avant 10 heures, ce qui conduit à une erreur de syntaxe sans citations. (Aussi, j'espère que votre
%%% code> est au format 24H. Le format 12H (avec AM / PM) peut conduire à des résultats inattendus.
Sur mon ordinateur date / t code> me donne
21.06.2020 code>. C'est une bonne raison d'utiliser un Méthode indépendante de la langue pour obtenir une chaîne de date / heure
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
Déplacer code>,
Copier code> et
Ren code> 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