Obtener el nombre completo de un file al copyr usando un comodín

Tengo un file por lotes en el que estoy usando xcopy para mover algunos files. El problema es que al usar xcopy estoy usando un comodín porque no conozco la extensión del file pero conozco el nombre del file. Sin embargo, necesito saber el nombre completo del file para poder hacer el siguiente command, en este caso agrégalo a svn.

A continuación, se muestra el aspecto de este fragment del lote:

 xcopy /q /y C:\path\to\file\image.* D:\svn\folder svn add D:\svn\folder\image.??? <-- not sure what to do here 

He pensado en utilizar el indicador /f para xcopy pero eso generaría la ruta de origen y de destino, y solo necesito el nombre del file. Además, tendría que volver a hacer el command poniéndolo en un FOR solo para ponerlo en una variable, suponiendo que puedo sacar el nombre del file de ese command.

¿Cuáles son mis opciones aquí? ¿Cómo obtengo el nombre completo del file cuando uso comodines para poder agregar este file a svn?

Puede ajustar su código en un ciclo for que itera solo sobre el file que le interesa.

 FOR %%F in ("C:\path\to\file\image.*") do ( xcopy /q /y %%FD:\svn\folder svn add D:\svn\folder\%%~nxF ) 

Dentro del ciclo, puede consultar el nombre completo de la ruta del file usando la variable de iteración misma ( %%F en mi ejemplo). Para hacer reference al nombre del file desnudo con extensión, inserte ~nx antes del nombre de la variable ( %%~nxF ).

Otra opción es get el nombre y la extensión del file en una variable:

 FOR %%F in ("C:\path\to\file\image.*") do set FILENAME=%%~nxF xcopy /q /y C:\path\to\file\%FILENAME% D:\svn\folder svn add D:\svn\folder\%FILENAME% 

Con este enfoque, debe repetir el nombre del directory C:\path\to\file\ en su código o ponerlo en otra variable y volver a utilizarlo.