2

Как узнать, на какой путь к файлу (или псевдоним) будет указывать определенный ввод команды в командной строке Windows? В частности, Windows XP, информация о других версиях также приветствуется!

В системах Unix я просто использую:

$ which commandname
/a/commandname

Или же:

$ type -a commandname
commandname is aliased to `/b/commandname'
commandname is /a/commandname
commandname is /b/commandname

И я просто ищу эквивалент в оболочке Windows (в частности, Win XP).


Я пришел к этому общему вопросу из конкретной проблемы: я установил robocopy.exe (версия 026), но командная строка "robocopy" всегда запускает версию 010, и я хотел бы определить, куда указывает эта команда, чтобы исправить эту ошибку.

2 ответа2

1

В более новых дистрибутивах Windows есть команда where . Читайте здесь для получения дополнительной информации. Для Windows XP вы можете использовать

   c:\> for %i in (cmd.exe) do @echo.   %~$PATH:i
   C:\WINDOWS\system32\cmd.exe

как один из ответов описывает на странице, на которую я уже ссылался.

0

Я нашел этот простой пакетный файл Windows:

@echo off
rem --------------------------------------------------------
rem File: which.cmd
rem Description: Windows equivalent of Unix which command
rem Author: Pankaj Kumar
rem Copyright 2004 Pankaj Kumar. All Rights Reserved.
rem License: This software is available under GPL
rem ---------------------------------------------------------
setlocal
if "%1" == "" goto noArg

set fullpath=%~$PATH:1
if "%fullpath%" == "" goto notFound
echo Found in PATH: %fullpath%
goto end

:noArg
echo No Argument specified
goto end

:notFound
echo Argument "%1" not found in PATH

:end
endlocal

Из help for:

%~$PATH:I   - searches the directories listed in the PATH  
               environment variable and expands %I to the  
               fully qualified name of the first one found.  
               If the environment variable name is not  
               defined or the file is not found by the  
               search, then this modifier expands to the  
               empty string`

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .