commande DOS pour remplacer toutes les instances de <nom> .config

voix
1

J'ai une version modifiée d'un fichier de configuration spécifique pour ma machine. J'ai le même fichier de configuration dans plusieurs répertoires différents dans mon dossier de développement. Je veux, dans un seul fichier de chauve-souris, remplacer toutes les occurrences de ce fichier avec mon édité un.

Ainsi, dans le code pusedo: Prendre C: \ edited.config et copier dans C: \ Projects \ / s où se trouve original.config

Je veux que le fichier final d'avoir le nom de original.config, non edited.config

donc je devine que j'ai besoin d'une combinaison d'un FOR, un changement de nom et de copier ou quelque chose comme ça

est-ce plus facile à faire en Powershell?

quelqu'un peut-il aider? Merci

Créé 27/08/2009 à 00:11
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
3

Je blogué sur ce il y a un peu à http://jamesewelch.com/2008/05/01/how-to-write-a-dos-batch-file-to-loop-through-files/

Je pense que votre solution ressemblera à quelque chose semblable à (ci-dessous est non testé, mais utilisé pour montrer idée générale)

for /f %%a IN ('dir /b *.config') do copy c:\master.config %%a

Il y a probablement un commutateur il sur la copie pour supprimer les avertissements de l'écrasement des fichiers, mais je ne me souviens pas ce que l'interrupteur est. Cela copiera votre master.config et écraser votre fichier local (variable %% a).

Créé 27/08/2009 à 00:17
source utilisateur

voix
1
@echo off
C:
cd \Projects
FOR /F "tokens=*" %%G IN ('DIR /B /S original.config') DO xcopy /y c:\edited.config %%G
Créé 27/08/2009 à 00:29
source utilisateur

voix
1

Je suis étonné de ce que les experts de fichiers batch DOS font le travail. Depuis que je ne suis pas l'un d'entre eux, je prends une approche pragmatique qui est pour moi. Il pourrait fonctionner pour vous aussi.

  1. Obtenir une liste de dossiers de destination

    C: Cd \ Dir original.config / s> original.bat

  2. Modifier original.bat dans votre éditeur de texte favori (j'aime Notepad ++)

  3. Chercher « original.config » et remplacer par « » (chaîne vide)

  4. Insérez le texte « Xcopy C: \ edited.config » à l'avant de chaque ligne

  5. Relue le résultat pour être sûr qu'il est ce que vous voulez. Si vous n'êtes pas sûr de mettre un « écho » devant chaque ligne pour une course sèche.

  6. Exécutez le fichier batch.

Créé 27/08/2009 à 00:18
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more