sirven que programacion por para msdos manejo lotes los ejemplos copiar codigos codigo batch bat archivos archivo abrir batch-file dos filenames

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.