1 votes

Comment copier en lot & renommer des fichiers?

Je suis en train d'utiliser windows server 2012 R2. J'ai un dossier avec plusieurs fichiers et je veux les copier 20 fois dans un autre dossier mais les fichiers nouvellement copiés doivent être renommés en suivant l'ordre alphabétique. Par exemple, un fichier appelé "orange.html" serait copié 20 fois et déplacé dans un autre dossier. Le nouveau dossier contiendrait donc 20 nouveaux fichiers copiés avec des noms tels que a.html, b.html, c.html etc.

Voici le code mais actuellement il incrémente par des chiffres alors que je veux incrémenter par l'alphabet

@echo off

for /L %%i IN (1,1,100) do call :docopy %%i
goto end

:docopy
set FN=00%1
set FN=%FN:~-3%

copy source-file.html poll%FN%.html

:end

0voto

DavidPostill Points 140654

Tout ce qu'il fait, c'est incrémenter par des nombres mais je veux incrémenter par l'alphabet

Le fichier batch suivant (test.cmd) devrait vous aider à démarrer :

@echo off
setlocal enableDelayedExpansion
set "chars=abcedefhijklmnopqrstuvwxyz"
for /l %%i in (0,1,25) do (
  echo copy source-file.html folder\poll!chars:~%%i,1!.html
  )
endlocal

Notes :

  • Ceci est une réponse partielle car vos exigences ne sont pas claires.
  • Utilisez le fichier batch ci-dessus comme point de départ
  • Cela montre comment construire les noms de fichiers en utilisant des lettres de l'alphabet de manière incrémentielle.

Exemple de sortie :

copy source-file.html folder\polla.html
copy source-file.html folder\pollb.html
copy source-file.html folder\pollc.html
copy source-file.html folder\polle.html
copy source-file.html folder\polld.html
copy source-file.html folder\polle.html
copy source-file.html folder\pollf.html
copy source-file.html folder\pollh.html
copy source-file.html folder\polli.html
copy source-file.html folder\pollj.html
copy source-file.html folder\pollk.html
copy source-file.html folder\polll.html
copy source-file.html folder\pollm.html
copy source-file.html folder\polln.html
copy source-file.html folder\pollo.html
copy source-file.html folder\pollp.html
copy source-file.html folder\pollq.html
copy source-file.html folder\pollr.html
copy source-file.html folder\polls.html
copy source-file.html folder\pollt.html
copy source-file.html folder\pollu.html
copy source-file.html folder\pollv.html
copy source-file.html folder\pollw.html
copy source-file.html folder\pollx.html
copy source-file.html folder\polly.html
copy source-file.html folder\pollz.html

Lecture complémentaire

  • Un index A-Z de la ligne de commande Windows CMD - une excellente référence pour tout ce qui est lié à la ligne de commande Windows.
  • enabledelayedexpansion - L'extension différée fera en sorte que les variables soient étendues au moment de l'exécution plutôt qu'au moment de l'analyse.
  • for /l - Exécuter conditionnellement une commande pour une plage de nombres.
  • set - Afficher, définir ou supprimer des variables d'environnement CMD. Les modifications apportées avec SET ne resteront que pendant la durée de la session CMD actuelle.
  • variables - Extraire une partie d'une variable (sous-chaîne).

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