DOS-commando om alle exemplaren van <filename> .config vervangen

stemmen
1

Ik heb een bewerkte versie van een configuratiebestand dat specifiek is voor mijn machine. Ik heb hetzelfde configuratiebestand in meerdere verschillende mappen in mijn map ontwikkeling. Ik wil, in een enkel bat-bestand, moet u alle exemplaren van dit bestand met mijn bewerkte.

Dus in pusedo code: Take C: \ edited.config en kopiëren naar C: \ Projects \ / s waar original.config wordt gevonden

Ik wil het uiteindelijke bestand met de naam van original.config hebben, niet edited.config

dus ik vermoed ik moet een combinatie van een FOR, een hernoemen en kopiëren of iets dergelijks

Dit is gemakkelijker te doen in Powershell?

kan iemand helpen? Bedankt

De vraag is gesteld op 27/08/2009 om 00:11
bron van user
In andere talen...                            


3 antwoorden

stemmen
3

Ik geblogd over deze een beetje geleden op http://jamesewelch.com/2008/05/01/how-to-write-a-dos-batch-file-to-loop-through-files/

Ik denk dat uw oplossing zal iets dergelijks om naar te kijken (zie hieronder is niet getest, maar gebruikt voor het algemene idee te laten zien)

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

Er is waarschijnlijk een schakelaar er op de kopie om bestand overschrijven waarschuwingen te onderdrukken, maar ik weet niet meer wat de schakelaar. Dit zal je master.config kopiëren en overschrijven uw lokale bestandssysteem (variabele %% a).

antwoordde op 27/08/2009 om 00:17
bron van user

stemmen
1
@echo off
C:
cd \Projects
FOR /F "tokens=*" %%G IN ('DIR /B /S original.config') DO xcopy /y c:\edited.config %%G
antwoordde op 27/08/2009 om 00:29
bron van user

stemmen
1

Ik ben verbaasd wat DOS batch-bestand experts werk. Aangezien ik ben niet een van hen, neem ik een aanpak die is pragmatisch voor mij. Het zou kunnen werken voor u als goed.

  1. Hier krijg je een lijst met doelmappen

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

  2. original.bat bewerken in uw favoriete teksteditor (Ik hou van Notepad ++)

  3. Zoeken naar "original.config" en vervangen door "" (lege string)

  4. Plaats de tekst "Xcopy C: \ edited.config" aan de voorkant van elke lijn

  5. Proof-lees het resultaat af om zeker te zijn het is wat je wilt. Als je niet zeker maakte een "Echo" voor elke regel voor een droge run.

  6. Voer het batchbestand.

antwoordde op 27/08/2009 om 00:18
bron van user

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