Cómo ejecutar unos archivos BATCH independientemente si están en C o en D?

18/11/2003 - 09:24 por anonymous | Informe spam
Tengo unos archivos batch (*.bat) que tengo que ejecutar
en varias máquinas y los ficheros a ejecutar se
encuentran dentro de distintas carpetas que dependen de
la carpeta PRUEBA.
El problema es que en algunas máquinas PRUEBA depende de
C:\ (C:\PRUEBA) y en otras máquinas dependen de D:\
(D:\PRUEBA) y esto no LO puedo cambiar y me tienen que
funcionar en cualquier máquina.
Actualmente las llamadas a los distintos ejecutables en
los archivos *.bat están direccionados a C:\Prueba por lo
que cuando lo quiero ejecutar en alguna máquina que está
en D ME DA ERROR.
Hay alguna manera de referirse a la raíz
independientemente de si esta está en C o en D.
(No se si ayuda pero es el Agente del SQL Server a través
de un Job (trabajo) que llama a estos .BAT)
 

Leer las respuestas

#1 Rubén Vigón
18/11/2003 - 10:55 | Informe spam
Si la carpeta "Prueba" está en la unidad raíz del sistema, puedes utilizar la variable de entorno
%SYSTEMDRIVE%; el siguiente ejemplo copia el archivo "archivo.txt" a "copia.txt" en la carpeta
"Prueba" de la unidad de sistema:

@echo off
copy %SYSTEMDRIVE%\Prueba\archivo.txt %SYSTEMDRIVE%\Prueba\copia.txt

De todos modos, si el archivo .BAT está en la misma unidad que la carpeta "Prueba", no es necesario
especificar la letra de unidad, tan sólo la carpeta raíz ("\"); por ejemplo:

@echo off
copy \Prueba\archivo.txt \Prueba\copia.txt

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic

Preguntas similares