Eu estava tentando adicionar um comando tracert a um arquivo .bat.
No cmd.exe eu estava escrevendo:
tracert 111.111.111.111 > desktop\tracert.txt
e correu tudo bem. Eu criei um arquivo 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
A idéia é adicionar os dados ao nome do arquivo, eu também gostaria de escrevê-lo dentro do tracert.txt, mas eu não sei como.
Resultado do 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 que ele está adicionando "1" antes do ">" e removendo o espaço entre ">" e "desktop"?
De qualquer forma, eu tentei executar o tracert
comando novamente diretamente no cmd, mas agora ele está me dando a mesma mensagem de erro que o arquivo bat: The system cannot find the path specified
Edit 1: Bem, o problema com o caminho não encontrar é porque eu mudei o caminho cmd usando o comando "cd", que a pasta desktop não foi encontrada! Eu estou envergonhado! Desculpe pessoal .. Obrigado pelos replays sobre os "1" e desaparecendo com espaços.
command-line
batch-file
traceroute
Pedro77
fonte
fonte
Respostas:
O lugar que você conhece
desktop
é uma subpasta do seu perfil de usuário com o mesmo nome. Se o seu arquivo de lote estiver armazenado em sua área de trabalho, basta remover adesktop\
parte da saída. Quando você executacmd
seu diretório base, é o seu diretório de perfil de usuário root que tem sua pasta desktop abaixo disso. Se você criar um arquivo em lotes e executá-lo, o diretório base em que elecmd
trabalha será esse diretório e não seu perfil de usuário.Se você deseja que seu arquivo em lote sempre seja enviado para a sua área de trabalho, independentemente de onde ele esteja armazenado, o
cmd
ambiente tem uma variávelUSERPROFILE
que aponta para o diretório do perfil (C:\Users\yourUserName
) e pode ser combinada com\desktop
a saída de arquivos na sua área de trabalho.Onde você tem
Substitua-o por
fonte
%DESKTOP%
"Desktop" neste caso é o caminho relativo. Você deve mudar para a pasta direita (comando "cd") ou colocar todo o caminho para o arquivo de saída no arquivo .bat.
fonte
1>
é STDOUT, em oposição a STDERR, que é2>
Eu acho que o espaço é apenas um problema sintático, cmd.exe não gosta do espaço em branco, então ele muda.
Veja a página de redirecionamento de comandos da Microsoft para mais informações.
Quanto ao erro não encontrado, verificar as permissões nesse diretório seria minha primeira sugestão.
PS: Não é mais um usuário vencedor, mas é 'desktop' uma maneira válida de acessar a área de trabalho, ou é um nome de diretório?
fonte