Pagina 1 di 1

Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 15:51
da boiler
Ciao a tutti

Ho il seguente comando che viene eseguito su un build-server (Windows) come post-build event:

Codice: Seleziona tutto
copy /Y $(ProjectDir)*.xml $(TargetDir) 2>NUL


Quando non ci sono file xml disponibili da copiare (cosa che può succedere), il build-server ferma la compilazione e mi ritorna l'errore

Codice: Seleziona tutto
error MSB3073: The command "copy /Y D:\blablabla\*.xml D:\blablabla\bin\Release\ 2>NUL" exited with code 1.


Credevo che l'aggiunta del 2>NUL bastasse a sopprimere l'errore, ma non sembra essere il caso.

Potrei usare l'AfterBuild target di MS-Build, ma è una soluzione che funziona solo sul build server, non quando compilo in locale, quindi scomoda.

C'è qualcuno che ha ancora esperienza con DOS e sa se c'è un flag che posso usare per ovviare al problema?

Saluti, Boiler

Re: Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 15:53
da DarwinNE
Non uso più il DOS per fare quelle cose da un po', ma mi pare che l'esecuzione si fermi perché il comando copy ha ritornato un codice di errore. Non ricordo più cosa succede se lo infili dentro uno script batch, forse si può fare in modo che l'errore sia ignorato.

Re: Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 16:00
da boiler
Buona idea! Ci provo :ok:

Grazie, Boiler

Re: Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 16:17
da edgar
Ricordavo dalla notte dei tempi che il comando ritornava dei codici alla conclusione e che si poteva usare %errorlevel% in un file batch per gestirli.
Prova a dare un'occhiata qui

Re: Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 16:58
da davi82
credo sia sufficiente, al posto di chiamare il comando xcopy, chiamare un batch contenente la chiamata ad xcopy seguita da "ver > nul"

Re: Sopprimere errore del comando copy in DOS

MessaggioInviato: 3 dic 2020, 17:15
da Max2433BO
Forse potrebbe esserti d'aiuto quanto spiegato in questa discussione: in pratica potresti verificare prima l'esistenza del/dei file prima di lanciare il comando copy.

O_/ Max