windows - Batch script til kopiering af fil med et skiftende navn

Indlæg af Hanne Mølgaard Plasc

Problem



Vores bygning producerer et arkiv med navnet app-component-x.x.x.x-SNAPSHOT.zip hvor x.x.x.x er et versionsnummer (dvs.: 1.6.2.8). Directory er c: \ buildresults \ app


Vi vil skrive et batch script, som a) kopierer filen til en anden mappe med et fast navn som build-results.zip og derefter b) uddrag filen.


Jeg er ikke sikker på, hvordan man gør del A. Det ser ud til at virke: copy c:uildresultsapp*.zip c:xxxuild-results.zip


Nogle ideer?





Opdater :


Filen kopieres, men størrelsen er dramatisk mindre. Dvs .: filen ser ud til at blive ødelagt.


Dette ser ud til at fungere, men ikke ideelt:


cd buildresultsapp

for \%\%f in (*component*) do (
    echo \%\%~nf
    7za.exe -oC:uildresultsapp x "\%\%~nf.zip"
)

Bedste reference


Du kan prøve:


xcopy /Y /Q /C /H /R c:uildresultsapp*.zip c:xxxuild-results.zip

Andre referencer 1


Kan ikke reproducere:


D:>mkdir xxx

D:>echo test > test-1.2.3.zip

D:>copy test-*.zip xxx	est-current.zip
test-1.2.3.zip
        1 Datei(en) kopiert.

D:>type xxx	est-current.zip
test

D:>


Er du sikker på, at målet ikke eksisterer? Btw, er du sikker på, at din * matcher nøjagtig en fil i hvert enkelt tilfælde? Fordi kopiering af flere filer til en destination er en gyldig operation og ender med en ugyldig zip-fil.