Estaba intentando agregar un comando tracert a un archivo .bat.
En el cmd.exe estaba escribiendo:
tracert 111.111.111.111 > desktop\tracert.txt
y funcionó bien. He creado un archivo bat como este:
::@echo off
Cd C:\
cls
echo %DATE%
echo %TIME%
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetimef%
::2013_04_20__13_01_47
::tracert 111.111.111.111 > desktop\Tracert_IP1_%datetimef%.txt
tracert 111.111.111.111 > desktop\tracert.txt
La idea es agregar los datos al nombre de archivo, también me gustaría escribirlos dentro de tracert.txt, pero no sé cómo.
Resultado del código:
C:\>echo 20/04/2013
20/04/2013
C:\>echo 14:18:12,44
14:18:12,44
C:\>set datetimef=2013_04_20__14_18_12
C:\>echo 2013_04_20__14_18_12
2013_04_20__14_18_12
**C:\>tracert 111.111.111.111 1>desktop\tracert.txt**
**The system cannot find the path specified**
¿Por qué agrega "1" antes de "& gt;" y eliminando el espacio entre "& gt;" y "escritorio"?
De todos modos, traté de correr el tracert
Comando de nuevo directamente en el cmd, pero ahora me está dando el mismo mensaje de error que el archivo bat: The system cannot find the path specified
Edición 1: Bueno, el problema con la ruta que no se encuentra es porque cambié la ruta cmd usando el comando "cd", que simplemente no se encontró la carpeta del escritorio. ¡Me da vergüenza! Lo siento chicos.. Gracias por las repeticiones sobre los "1" y la desaparición de los espacios.
command-line
batch-file
traceroute
Pedro77
fuente
fuente
Respuestas:
El lugar que conoces como
desktop
es una subcarpeta de su perfil de usuario que tiene el mismo nombre. Si su archivo por lotes está almacenado en su escritorio, simplemente elimine eldesktop\
parte de la salida. Cuando correscmd
su directorio base es su directorio de perfil de usuario raíz que tiene su carpeta de escritorio debajo de eso. Si crea un archivo por lotes y lo ejecuta, el directorio base quecmd
trabaja en es ese Directorio y no su perfil de usuario.Si desea que su archivo por lotes salga siempre a su escritorio, independientemente de dónde esté almacenado, entonces
cmd
el medio ambiente tiene una variableUSERPROFILE
que apunta a su directorio de perfil (C:\Users\yourUserName
) y se puede combinar con\desktop
para enviar archivos a su escritorio.Donde tienes
Reemplazarlo con
fuente
%DESKTOP%
"Escritorio" en este caso es la ruta relativa. Debe cambiar a la carpeta derecha (comando "cd") o poner la ruta completa al archivo de salida en el archivo .bat.
fuente
1>
es STDOUT, a diferencia de STDERR, que es2>
Creo que el espacio es solo un problema sintáctico, a cmd.exe no le gusta el espacio en blanco, así que lo cambia.
Ver de Microsoft Comando de redireccion página para más información.
En cuanto al error no encontrado, mi primera sugerencia sería verificar los permisos en ese directorio.
PD: Ya no es un usuario ganador, pero ¿es 'escritorio' una forma válida de acceder al escritorio o es un nombre de directorio?
fuente