Как я выясняю, какой файл выполняется?

Из поля я вполне уверен, что Windows XP может только поддерживать FAT32 и NTFS. FAT32 не может обработать файлы, больше, чем 4 ГБ, таким образом, существует Ваш ответ.

Большинство систем может считать NTFS, но некоторые не могут записать в NTFS. Я не уверен, которые они.

Если можно обойтись только файлами, меньшими, чем 4 ГБ, то пойдите с FAT32, поскольку он работает лучшее над большей частью ОС.

2
задан 18 June 2009 в 20:25
7 ответов

Просто поместите команду ECHO в командный файл, и Вы будете знать достаточно быстро. Не мог бы быть тем, что Вы хотите в течение длительного срока, но это сделает с этой целью.

1
ответ дан 3 December 2019 в 09:54
  • 1
    Спасибо mh. В то время как это помогает, я ищу долгосрочное решение. Я увеличил бы это решение, если я могу, но я don' t имеют достаточно cred. –   18 June 2009 в 21:09
  • 2
    Выбор этого, потому что это - краткосрочный ответ. Реальный долгосрочный ответ, что - это похоже на систему просто, ищет в пути в порядке, ища файлы, которые соответствуют PATHEXT приоритету, указанному в PATHEXT. Там isn' t инструмент, который, кажется, извлекает это легко, ручную проверку потребностей и сравнение. Не terribily трудный с тех пор ' where' возвращает список файлов от пути. –   19 June 2009 в 02:33

Вы попробовали Монитор Процесса? Вы могли установить фильтр для "соединения каналом, содержит 'abc'", и затем отсейте через результаты.

3
ответ дан 3 December 2019 в 09:54
  • 1
    Победите меня к нему. Мой fav инструмент на серии труб. –  MathewC 18 June 2009 в 20:39
  • 2
    Похож я выбрал ответ слишком скоро. Когда я фильтрую на abc и выполняю abc.cmd, нет никаких ссылок на abc.cmd в ProcMon. Я только вижу, что результаты касаются sd.exe (изображение загрузки, openkey, и т.д.). Имя процесса действительно имеет cmd.exe, но меня can' t говорят если it' s хост-процесс, на который I' m выполняющиеся команды на, или та от abc.cmd. –   18 June 2009 в 21:00
  • 3
    Я ожидаю это you' ll все еще смочь выяснить те вещи с Монитором Процесса - you' ll просто должен играть с фильтрами немного. –  Ben Dunlap 18 June 2009 в 21:44
  • 4
    ... учет того факта, что фильтр doesn' t препятствуют тому, чтобы события были получены, это просто управляет что you' наблюдение ре. –  Ben Dunlap 18 June 2009 в 21:44
  • 5
    ... таким образом, можно изменить фильтры так, как Вы хотите однажды you' ve собрал данные, и это позволит Вам посмотреть на данные по-разному. И don' t забывают, что существует много столбцов, доступных, которые являются not' t отображенный по умолчанию. Щелкните правой кнопкой по маркировке столбца для наблюдения what' s доступный. –  Ben Dunlap 18 June 2009 в 21:46

Можно попытаться делать cmd/K abc, и это выполнит, но оставит командную строку открытой.Надеюсь, это поможет.

0
ответ дан 3 December 2019 в 09:54

От более ранних памятей (обновленный в Microsoft KB35284) порядок выполнения будет EXE и затем CMD (или BAT в более ранние дни). Так, если Вы пропускаете расширение, и оба находятся в локальной папке, EXE будет иметь приоритет и выполняться.

Интересная часть при использовании вкладки - расширяются CMD (или BAT) будет расширен также (coz, который использует алфавитное упорядочивание).

Если Вы заинтересованы CMD и BAT поиск различий в файле windows-batch-files-bat-vs-cmd

0
ответ дан 3 December 2019 в 09:54
  • 1
    Спасибо. В моем случае abc.cmd и abc.exe находятся в различных папках. Как оказалось, командный файл выполняется вместо exe. I' m предположение его имеет отношение к порядку в переменной пути. –   18 June 2009 в 21:08
  • 2
    @Gokul, Вы правы относительно этого. –  nik 19 June 2009 в 04:24

Вот немного инструмента, я записал, что это скажет Вам, где первое происшествие файла находится в Вашем пути. К findout точно, что работает на Вашей системе, используют ProcessExplorer от sysinternals.

пример: where.bat

@echo off
setlocal

if "%1"=="" goto USAGE
set filename=%1

for %%i in (%filename%) do @echo %%~dp$PATH:i%%i

goto EOF

:USAGE

echo %0 filename

:EOF
endlocal
0
ответ дан 3 December 2019 в 09:54
  • 1
    Это ищет первое происшествие определенного файла. Я хочу знать, как разрешается дополнительная меньше команда. В сущности я хочу выяснить, какой файл выполняется, а также путь. Ваше решение просто выясняет путь, учитывая имя файла. –   18 June 2009 в 21:06

В Windows Vista существует названная программа where.exe. Можно использовать его как where abc. Это покажет полный путь abc.

0
ответ дан 3 December 2019 в 09:54
  • 1
    ' where' требует расширения файла начиная с него поиск точных совпадений. Добавление подстановочных знаков просто возвращает обоих. –   18 June 2009 в 21:02

Пакетные файлы CMD довольно слабы в этом, но если Вы не возражаете дрейфовать в Perl.

$filename=shift() or die ("Enter a filename\n");

@extensions = split(/\;/,$ENV{PATHEXT});
@paths = (".",split(/\;/,$ENV{PATH}));

foreach $path (@paths) {
    $path =~ s/\\?\s*$/\\/;
    foreach $ext (@extensions) {
        if (-e $path.$filename.$ext) {
            print $path.$filename.$ext."\n";
        }
    }
}

Учитывая имя файла без расширения это перечислит порядок, в котором различный исполняемый файл вводит (как определено переменной PATHEXT), будет найден, начиная с текущего каталога и затем ища ПУТЬ последовательно все исполняемые типы в правильном порядке. Этот шаблон поиска является тем, используемым оболочкой CMD насколько я знаю для команд, запущенных вызовами API, такими как CreateProcess, поисковое поведение и порядок будут отличаться.

Это быстро и грязно, и я исчерпывающе не протестировал его, но это обрабатывает пути с пробелами и соединяет with\without каналом запаздывающая обратная косая черта, которые являются самыми очевидными сложностями. Нечетные пути с наклонными чертами вправо и заключенными в кавычки точками с запятой бросят его для цикла.

1
ответ дан 3 December 2019 в 09:54
  • 1
    Поисковый порядок, реализованный в этом сценарии жемчуга, соответствует зарегистрированному порядку, найденному в technet.microsoft.com/en-us/library/cc723564.aspx точно. Текущий каталог ищется сначала, сопровождается каждым каталогом в ПУТИ. В каждом каталоге расширения пробуют от PATHEXT в порядке, перечисленном в PATHEXT. Это типично для MS к только, едва документируют подробное поведение CMD.EXE. –  RBerteig 19 June 2009 в 03:01

Теги

Похожие вопросы