Typ pliku wsadowego zawsze pokazuje exe

0

Typ pliku wsadowego zawsze przyjmuje wartość exe zamiast polecenia Shell. Nawet jeśli usunę skojarzenie pliku exe i dodam skojarzenie pliku batfile, to nie zajmie. Czy ktoś może mi pomóc?

kottee
źródło

Odpowiedzi:

0

Spróbuj zmienić rozszerzenie pliku na .bat.

Jeśli nie widzisz rozszerzeń plików, otwórz Eksplorator plików, a następnie przejdź do menu Widok -> Opcje ... Następnie w oknie dialogowym Karta Widok w oknie dialogowym Opcje folderów usuń zaznaczenie opcji „Ukryj rozszerzenia znanych typów plików” .

Następnie po prostu zmień rozszerzenie z cokolwiek to jest .bat

Lázaro Guajardo
źródło
0

Twój Typ pliku wsadowego jest zawsze traktowany jako exe zamiast polecenia powłoki Shell wydaje się być nieco niejasny.
Jednakże, nie ma różnicy czy dyskryminacji w sposobie, w jaki sposób traktuje linia tłumacza domyślne polecenia systemu Windows wykonywalne .COM , .EXE, .BATi .CMD.

Dowód : następny skrypt wsadowy analizuje domyślną wartość PathExtzmiennej środowiskowej .COM;.EXE;.BAT;.CMDi wyświetla odpowiednie wartości wyjściowych associ ftypepoleceń odpowiednio:

@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
    )
  ) 
)

Wynik:

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

Fyi: PathExtzmienna środowiskowa zwraca listę rozszerzeń plików, które system operacyjny uważa za wykonalne . Podczas wykonywania wiersza polecenia, który nie zawiera rozszerzenia, interpreter poleceń ( cmd.exe) korzysta z wartości tej zmiennej środowiskowej, aby określić, których rozszerzeń szukać i w jakiej kolejności.

JosefZ
źródło