Comment renommer un fichier avec la date du jour à partir du menu contextuel de l'explorateur?

0

Je souhaite pouvoir renommer n'importe quel fichier ou dossier avec la date du jour. J'ai donc ajouté la valeur de clé suivante au registre pour que cette option s'affiche dans le menu contextuel du clic droit:

HKEY_CLASSES_ROOT\*\shell

Cmd.exe /c ren %1 "sample".*

Cependant, je ne trouvais pas comment faire cela avec la date actuelle. Quelqu'un peut-il aider?

Mgnfcnt
la source
Voulez-vous dire que vous ne savez pas comment récupérer la date actuelle? Si tel est le cas, la commande permettant de le faire sous Windows est date /t
Indrek
Cmd.exe / c ren% 1 date / t ou date. * Ils ne fonctionnent pas
Mgnfcnt

Réponses:

0

Pour obtenir la date actuelle dans l'invite de commande Windows, procédez comme suit:

date /t

Pour renommer un fichier avec la date du jour, vous devez utiliser le for construire pour capturer la sortie de la date commande et passe à ren:

for /f "useback delims=" %x in (`date /t`) do ren oldfile.foo %x

Notez cependant que la sortie de date peut, en fonction de vos paramètres régionaux, contenir des symboles qui ne peuvent pas être utilisés dans un nom de fichier, par exemple la barre oblique ( / ). Si oui, vous avez deux options:

  • Formatez la date de sorte qu’elle puisse être utilisée dans un nom de fichier; voir ce post à Stack Overflow .

  • Utilisez plutôt PowerShell. Ce qui suit devrait faire l'affaire:

    Rename-Item oldfile.foo (Get-Date -Format yyyy-MM-dd)
    

    Cet exemple utilise le format de date ISO. Voir Formatage des dates et des heures pour plus d'informations.


Pour ajouter une nouvelle entrée de menu contextuel à tous les fichiers, procédez comme suit:

  1. Ouvrez regedit.exe et accédez à HKEY_CLASSES_ROOT \ * \ shell

  2. Ajoutez une nouvelle clé et définissez son nom comme vous voulez que l'élément de menu soit appelé

  3. Ajouter une nouvelle clé en dessous, avec le nom commander

  4. Double-cliquez sur le (Défaut) valeur sous la commander clé et définissez sa valeur comme suit:

    • si vous utilisez l'invite de commande standard (notez les signes de double pourcentage):

      cmd /c for /f "useback delims=" %%x in (`date /t`) do ren "%1" %%x
      
    • si vous utilisez PowerShell:

      cmd /c powershell Rename-Item "%1" (Get-Date -Format yyyy-MM-dd)
      
Indrek
la source
ça ne marche pas. une fois cliqué, il ouvre "OUVRIR LE FICHIER AVEC"
Mgnfcnt
@Mgnfcnt S'il vous plaît voir post mis à jour. J'ai testé les versions cmd.exe et PowerShell et les deux fonctionnent bien.
Indrek
désolé mais aucun d'entre eux ne fonctionne. J'utilise Windows 7 X64
Mgnfcnt
J'ai testé avec Windows 8.1. On dirait que vous ne pouvez pas invoquer PowerShell directement dans Windows 7. J'ai donc légèrement modifié cette commande (ajout de cmd /c devant). Après cela, cependant, les deux systèmes fonctionnaient parfaitement pour moi dans Windows 7. Êtes-vous sûr de créer la clé de registre correctement? Clic droit sur HKEY_CLASSES_ROOT \ * \ shell , sélectionnez Exporter, enregistrez-le dans un fichier et publiez le contenu du fichier (modifiez-le dans votre question ou utilisez un site tel que pastebin.com).
Indrek