O tipo de arquivo em lote sempre mostra exe

0

O tipo de arquivo em lote está sempre tomando como exe em vez do comando Shell. Mesmo se eu excluir a associação do arquivo exe e adicionar a associação batfile não está tomando. Alguém pode me ajudar?

    
por kottee 07.09.2015 / 07:19

2 respostas

0

Tente alterar a extensão do arquivo para .bat .

Se você não conseguir ver as extensões dos arquivos, abra um Gerenciador de arquivos e acesse Menu Exibir - > Opções ... Em seguida, na caixa de diálogo Visualizar Opções da guia de pastas, Desmarque "Ocultar as extensões dos tipos de arquivos conhecidos" .

Em seguida, basta alterar a extensão de qualquer coisa para .bat

    
por 07.09.2015 / 07:41
0

Seu O tipo de arquivo em lote está sempre assumindo que o comando exe ao invés de comando Shell parece ser um pouco incerto.
No entanto, não há diferença ou discriminação na maneira como o interpretador de linha de comando do Windows trata os executáveis .COM , .EXE , .BAT e .CMD .

Proof : o script de lote seguinte analisa o valor padrão de PathExt variável de ambiente .COM;.EXE;.BAT;.CMD e exibe os valores de saída apropriados dos comandos assoc e ftype , respectivamente:

@ECHO OFF
SETLOCAL EnableExtensions
set "parse_ext=%pathext:;=","%"
@for %%G in ("%parse_ext%") do (
  @for /F "tokens=1,* delims==" %%H in ('assoc %%G') do (
    @for /F "tokens=1,* delims==" %%J in ('ftype %%I') do (
      @echo %%H %%I     %%K
    )
  ) 
)

Saída:

==>D:\bat\SU9327.bat
.COM    comfile         "%1" %*
.EXE    exefile         "%1" %*
.BAT    batfile         "%1" %*
.CMD    cmdfile         "%1" %*

Fyi: variável de ambiente PathExt retorna uma lista das extensões de arquivo que o sistema operacional considera executável . Ao executar uma linha de comando que não contém uma extensão, o interpretador de comandos ( cmd.exe ) usa o valor dessa variável de ambiente para determinar quais extensões procurar e em que ordem.

    
por 07.09.2015 / 12:52

Tags