Ruta (Path) actual de unidad en un *.bat

Estoy haciendo un archivo por lotes que ejecuta un xcopy y quisiera saber como me refiero a la ruta (path)actual en el mismo...
Es decir, imaginen que la letra de unidad de CD-Rom es variable, en algunas pc es D: en otras puede ser E: y en otras x: ... ¿cómo pongo en la ruta que esa letra sea igual a la del origen actual?

3 respuestas

Respuesta
1
if exist c:\tempo1\dd.xls set drive=C:\
if exist d:\tempo1\dd.xls set drive=D:\
if exist x:\tempo1\dd.xls set drive=X:\
rem echo %drive%
xcopy %drive%\tempo1\*.* d:\destino\*.* /S/E
Aquí comprobamos la existencia del fichero dd.xls en esas tres unidades (C, DE, X) y si existe pone la variable drive al valor C:\, E:\X;\
Después realiza la copia, ten en cuenta que la variable lleva ya la \
saludos
Hola, gracias por tu respuesta!
Dos preguntas:
1- ¿Funcionaria en todos los OS? W98, NT, ¿Win2000 y XP?
2- Esa misma verificación, ¿se la puede hacer sólo con la carpeta en este caso "tempo1"?
Gracias!
1- Creo que si.
2- Podría ser más o menos así
if exist c:\tempo1 set npath=C:\tempo1\
if exist d:\tempo1 set npath=D:\tempo1\
if exist x:\tempo1 set npath=X:\tempo1\
echo %npath%
xcopy %npath%*.* d:\destino\*.* /S/E
Respuesta
1
¿Te sirvió?, ¿Cerramos?
Te refieres a ella con .\
Es decir, supongamos que tengo: C:\test
Y dentro de ahí tengo una subcarpeta llamada "trial". Su ruta completa seria: C:\test\trial
Si yo me encuentro actualmente en C:\test y deseo entrar a trial, puedo teclear:
cd C:\test\trial
o
cd trial
o
cd .\trial
Respuesta
1
Siempre puedes usar el .\ como ruta actual de origen o el ..\ para el nivel superior, si por ejemplo quieres copiar "algo.txt" del directorio a otra unidad:
xcopy .\algo.txt C:\carpeta\
si lo que quieres copiar esta en otro nivel puedes usar trucos como este
D:\carpeta\sub-dos\> xcopy ..\sub-
uno\algo.txt C:\carpeta\
Esto copiara desde una subcarpeta de otra rama.
Incluso subir dor niveles de forma controlada:
D:\nivel1\nivel2\nivel3> xcopy ..\..\algo.txt C:\carpeta\
en este caso algo.txt esta en el nivel1
De todas maneras creo que la variable de entorno %CD% almacena la información de la ruta actual... prueba a ejecutar:
ECHO %CD%
A ver que te sale, eso lo puedes usar en el archivo bat.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas