batch-file - programacion - para que sirven los archivos batch
En Batch: lee solo el nombre de archivo de una variable con ruta y nombre de archivo (2)
Actualmente estoy buscando una forma de tomar una variable en lote y analizar el nombre del archivo.
Por ejemplo, paso mi archivo de proceso por lotes un parámetro -s de otra aplicación que posteriormente se establece en mi variable de origen. La variable del archivo de origen normalmente contiene algo como: C: / Archivos de programa / miapp / Instance.1 / Data / filetomove.ext.
Supongo que leeré desde el final de la variable hasta la primera "/" y estableceré el resultado en un nuevo nombre de archivo de variable, pero no he podido utilizar el comando "for / f" con éxito.
¡Cualquier ayuda sería muy apreciada!
Actualización: solo está disponible XP estándar o Windows 2000/2003 ... (no se puede asumir kits de recursos instalados).
Si entra como un argumento para el script, es decir,% 1,% 2, etc., puede extraer solo el nombre de archivo y la extensión en una variable como esta:
set FILENAME=%~nxN
donde N es el índice del argumento. Por ejemplo, este script hará eco solo del nombre del archivo del primer argumento:
@echo off
set FILENAME=%~nx1
echo %FILENAME%
Versión ligeramente mejorada:
set FILENAME="%~nx1"
El paréntesis adicional garantizará que los caracteres especiales, como ''&'', no interfieran durante la ejecución del lote.