Что делать если все файлы открываются через одну программу: Все ярлыки открываются одной программой

Чтение файлов в Ruby— Ruby Rush

В этом уроке вы научитесь работать с файлами в Ruby. Мы будем открывать файлы, читать их содержимое и работать с ним в удобной форме.

Мы узнаем о классе File и о том, как работают его методы new, dirname, exist? и методы его экземпляров read, readlines и close.

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

План урока

  1. Файлы, что это такое и как программы с ними работают
  2. Чтение данных из файла в Ruby и не только
  3. Зачем нужно закрывать файлы и как это делать

Что такое файлы?

Однажды программисты поняли, что хранить данные в памяти компьютера не надёжно, затратно, не выгодно и вообще, программа должна быть постоянно запущена. Было бы здорово, если бы можно было выключить программу, а потом начать с того же места.

Как-то так были придуманы файлы.

Абсолютно вся информация на вашем или любом другом компьютере когда он выключен, храниться в файлах.

Файлы есть как у вас на домашнем компьютере — ваши документы и фотографии или системные файлы Windows или Mac OS X, так и на любом сервере, к которому вы на самом деле обращаетесь, когда вводите в браузере адрес любого сайта. То, что вы видите как сайт — это тоже файл (чаще всего несколько файлов), подготовленных определённым образом.

Именно поэтому так важно и удобно уметь работать с файлами в ваших программах.

Как программы работают с файлами

Программы — они как люди. Только люди читают книги, когда им нужна какая-то информация, а программы могут читать не только книги, но и картинки, аудиозаписи, видеоролики и много-много другого.

Когда программе сказали, что ей нужно прочесть какой-то файл, она ищет его в файловой системе вашего компьютера и достаёт его, подобно тому, как вы можете заказать книгу в ближайшей библиотеке.

После того, как файловая система предоставила ей этот файл (как заботливый библиотекарь), программа его открывает и может начать читать.

А потом, конечно же, файл нужно закрыть и вернуть на место, чтобы его могли читать другие программы (хотя, в отличие от библиотеки, один и тот же файл могут читать сразу несколько программ, копируя его себе в память или в специальное место на диске).

Чтение файлов в Ruby

Давайте напишем простенькую программку, решающую вот такую задачу:

Вывести на экран произвольный афоризм из файла со списком афоризмов.

Список будет храниться в файле quotes.txt, по одному афоризму на одну строчку файла.

Как обычно, файлы мы храним в нашей папке урока: с:\rubytut\lesson13.

Однако, для файлов с данными, не являющимися текстом программ, удобно всегда создавать вложенные подпапки. Наш файл с цитатами quotes.txt мы положим в подпапку data в нашей рабочей директории. Сам файл будет содержать вот это:

Учиться, учиться и еще раз учиться... программированию! // В. И. Ленин
Слышь, пацан, либы есть? // Ванек со второго подъезда
Я программирую, значит я существую // Фрэнсис Бэкон
Кто не умеет программировать, тот лох :) // Билл Гейтс
Тяжело в учении — легко в программировании // Народная мудрость
Программировали, перепрограммировали, да не запрограммировали // Скороговорка

Вы можете взять наши цитаты или (что гораздо интереснее, придумать свои).

Теперь создадим нашу программу open_file.rb в рабочей папке урока с:\rubytut\lesson13.

В этой программе мы будем открывать файл data/quotes.txt, брать из него произвольную строчку и выводить её на экран.

Для пользователей Windows: убедитесь, что вы сохранили файл quotes.txt в кодировке UTF-8 (для этого тоже можно использовать редактор Sublime), как это делать мы обсуждали во втором уроке.

Открытие файла

Для работы с файлами в Ruby есть специальный встроенный класс File, который позволяет в программе создавать объекты для работы с файлами.

Любой экземпляр класса начинается с конструктора. Также и здесь, чтобы создать новый файловый объект, нам надо у класса File вызвать метод new, который вернёт нам экземпляр класса File.

Методу new нужно передать несколько параметров мы уже умеем это делать: первый параметр — путь (относительно текущей директории, из которой вы запускаете программу) к файлу, который нужно открыть, подробнее об этом в 2-м уроке, второй параметр — специальный ключ.

Этот ключ говорит классу File, как именно мы хотим открыть файл, и в какой кодировке мы этот файл хотим прочитать.

В нашем случае мы хотим открыть наш файл с афоризмами ./data/quotes.txt для чтения в кодировке UTF-8, поэтому пишем так:

file = File.new("./data/quotes.txt","r:UTF-8")

Обратите внимание на ключ "r:UTF-8", первая буква обозначает тип открытия файла:

  • r — только для чтения: мы будем только читать файл, писать в него мы так не сможем
  • w — только для записи: мы не хотим знать, что в файле, мы просто перепишем его содержимое
  • a — только для записи, но дописывать будем в конец файла, сам файл не трогаем

Есть и другие ключи, но в этом блоке не будем ими морочить вам голову, в этом уроке нам понадобится только первый, так что все остальные — для любознательных. После указания способа открытия файла через двоеточие идёт кодировка, в нашем случае UTF-8.

Чтение информации из файла

Мы открыли файл, но пока ещё ничего с ним не сделали, мы просто получили некую переменную file с экземпляром класса File, которая знает, к какому файлу она относится и как ему с этим файлом нужно обращаться.

Мы можем получить всё содержимое файла в одной большой строке (со всеми словами, пробелами и переносами) с помощью метода read экземпляра класса File, то есть нашего объекта file.

content = file.read

Теперь по идее в переменной content у нас будут все цитаты одна за другой.

Чтение файла построчно

По условию задачи нам нужно прочитать только одну цитату, а не весь файл целиком. Поэтому нам нужно немного переписать нашу программу. Мы напишем новый файл read_lines.rb

file_path = "/data/aphorizmus.txt"
f = File. new(file_path, "r:UTF-8")
lines = f.readlines
puts lines.sample

Обратите внимание, что мы сохранили путь к файлу в переменную file_path, чтобы каждый раз не писать его вручную.

Вместо file.read вызываем метод readlines, который в отличие от предыдущего возвращает не одну большую строку, а массив строк, разбитых по символам переноса.

Этот массив мы сохранили в переменную lines, поэтому чтобы вывести одну случайную строчку файла мы можем просто написать

puts lines.sample

Метод sample у массива возвращает один случайный элемент из этого массива — каждый раз разный.

Запуск программы

Программа написана и осталось её запустить, для этого как обычно переходим в нашу рабочую папку в консоли и запускаем программу с помощью команды ruby

cd c:\rubytut\lesson13\
ruby read_lines.rb

Что делать когда файл не найден?

Первое, с чем сталкивается любой программист, когда пишет программу, общающуюся с файлами — ситуация, когда файл не открылся. Не важно по какой-то причине.

Может, его стёрли, может, он опечатался и неправильно указал имя файла, может быть, диск, на котором хранился файл, не доступен. Мало ли чего в наше неспокойное время может произойти.

Запомните основное правило при работе с файлами: перед открытием файла всегда убедитесь, что он есть.

Проверить наличие файла можно с помощью метода exist? у класса File:

if File.exist?(file_path)
  # тут можно работать с файлом, не боясь, что он не откроется
else
  puts "Файл не найден"
end

Как вы видите, метод очень похож на new, только никакой ключ ему не нужен, потому что методу exist? не важно, как с этим файлом собрались работать, ему только нужно проверить, есть ли файл и если файл есть, то вернуть true, а если нет — вернуть false.

Именно поэтому очень удобно использовать этот метод в качестве условия в конструкции if-else, если файл есть, мы его откроем и прочитаем, если его нет, мы напишем об этом пользователю и либо пойдём дальше, либо прекратим выполнение программы.

Теперь можно переименовать файл quotes.txt в, например, quotes_.txt и убедиться, что при запуске программы, мы увидим строчку

Файл не найден

Как правильно указывать пути к файлам

При открытии файла мы считали, что он лежит в папке data, которая находится в той же папке, в которой мы запускаем программу.

Если мы в консоли поднимемся на уровень выше:

cd ../

и снова запустим нашу программу, дописав к её пути спереди название папки, в которой она лежит (мы не говорили, но так можно делать):

ruby lesson13/qoute.rb

то встретимся как раз с ситуацией, когда файл не найден.

Наша проверка обломалась, ведь файла уже нет рядом с нами, он лежит в другой папке, о чём программа не знает, она ищет его в c:\rubytut\data, то есть рассматривает путь data относительно текущей папки консоли.

Знак точки (.) в пути к файлу означает: «текущая папка, в которой мы находились в тот момент, когда запустили программу», то есть текущая папка консоли в нашем случае.

Но нам нужно, чтобы файл в подпапке data искался всегда относительно папки, в которой лежит программа, а не из которой она запущена.

Это легко исправить, ведь для этого в Ruby есть классная штука: специальный объект __FILE__ — он содержит путь к файлу программы относительно той папки, из которой программа запущена. То есть откуда бы мы не запустили, с помощью объекта __FILE__ мы всегда можем восстановить правильный путь к файлам нашей программы.

Для того, чтобы из этой переменной получить путь к папке текущей программы, нам нужно снова обратиться к нашему классу File:

current_path = File.dirname(__FILE__)

Теперь в переменной current_path всегда (откуда бы мы ни запустили нашу программу) будет лежать путь к папке с этой программой.

А от него и до data/quotes.txt рукой подать, нужно просто склеить две строчки плюсиком, как мы это умеем делать:

file_path = current_path + "/data/quotes. txt"

Теперь откуда бы мы ни запустили нашу программу, она будет искать файл data/quotes.txt рядом с собой, а не в том месте, откуда её вызвали.

Это очень удобно. Можно в консоли перейти на папку выше и запустить программу вот так:

ruby lesson13/read_lines.rb

Тяжело в учении — легко в программировании!

Закрытие файлов

Если вкратце, то файлы нужно закрывать.

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

Во-вторых, каждый открытый файл занимает у памяти какой-то её объём и чем больше таких открытых файлов, тем медленнее работает ваша программа. Хорошие программисты помнят об этом и стараются делать свои программы быстрее.

Для нашей маленькой программы это не так важно — Ruby сам закроет все файлы после выполнения программы.

Но усвоить эту привычку надо уже сейчас, когда ваши программы станут большими и навороченными, вы еще скажете нам спасибо за эту привычку.

Это как правило хорошего тона: подобно тому, как прилежный читатель всегда возвращает книгу туда, откуда он её взял — полка в собственном доме или библиотека, также и прилежный программист всегда должен помнить о том, что чем меньше на Земле незакрытых вовремя файлов, тем больше на Земле добра!

Делайте добро, Дамы и Господа, всегда закрывайте ваши файлы.

Закрывать файлы можно сразу после того, как вы сделали с файлом всё, для чего он был нужен. Прям вот сразу же.

В нашей программе мы закроем файл ещё до того, как выведем строчку на экран.

current_path = File.dirname(__FILE__)
file_path = current_path + "/data/aphorizmus.txt"
if File.exist?(file_path)
  f = File.new(file_path, "r:UTF-8")
  lines = f.readlines
  f.close
  puts lines.sample
else
  puts "Файл не найден"
end

Итак, сегодня мы научились работать с файлами, узнали о классе File, как работают его методы new, dirname, exist? и методы его экземпляров read, readlines и close.

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

А в следующем уроке нас ждёт третья версия нашей замечательной игры «Виселица», мы будем использовать полученные данные и будем открывать файлы с псевдографикой.

Почему Я Не Могу Открыть ZIP/Сжатый Файл?

Вопрос: Почему Я Не Могу Открыть Свой Zip-Файл?
«Я скачал Zip-файл и попытался открыть его, но ничего не вышло. Все, что я вижу- это сообщение об ошибке. Пожалуйста, кто-нибудь может сказать мне, почему это происходит и как я могу это исправить?»

Одним из наиболее часто используемых форматов для сжатия файлов является формат Zip, представленный как расширение файла .zip. Это один файл, содержащий набор сжатых файлов. Когда файлы сжимаются в формат Zip, их размеры значительно уменьшаются, что облегчает передачу и использование меньшего пространства. Однако файлы должны быть распакованы, прежде чем вы сможете их просмотреть. Это становится проблемой, если Zip-файл, который вам нужно просмотреть, не открывается.

В этой статье вы найдете всю необходимую информацию о том, почему вы не можете открыть свой Zip-файл. Вам будет предложено отличное программное обеспечение для распаковки Zip-файлов. Наконец, вы узнаете о Stellar File Repair и о том, как вы можете использовать его для открытия Zip-файлов, которые были повреждены по какой-либо причине.

  • Часть 1: Почему я не могу открыть zip-файл?
  • Часть 2: Какой zip-файл можно открыть в Windows?
  • Часть 3: Попробуйте другой архиватор
  • Часть 4: Как открыть поврежденный zip-файл
  • Часть 5: Распространенные ошибки при открытии zip файлов

Часть 1: Почему я не могу открыть zip-файл?

В этой части вы узнаете основные причины, по которым вы не можете открыть свой Zip-файл. Причины, по которым сжатые или Zip-файлы не открываются, включают следующее:

  1. Неполная Загрузка: Zip-файлы могут не открываться, если они не загружены полностью. Кроме того, неполные загрузки происходят, когда файлы не проходят из-за таких проблем, как плохое подключение к Интернету, несогласованность в сетевом соединении, все это может привести к ошибкам при передаче, повлиять на ваши Zip-файлы и сделать их невозможными для открытия.
  2. Неправильное Сжатие: Сжатие файлов может быть остановлено из-за непредвиденных обстоятельств, таких как резкое отключение питания или низкий заряд батареи, что может привести к выключению системы. Это может привести к повреждению файла, проходящего процесс сжатия. Следовательно, Zip-файл может быть поврежден и не открываться.
  3. Повреждение Файлов: Это основная причина, по которой ваши Zip-файлы трудно открыть. Конкретным повреждением, которое останавливает открытие Zip-файлов, является повреждение заголовка. Zip-файл имеет функцию под названием «заголовок», которая отвечает за хранение такой информации, как имя файла, дата его создания, размер файла и так далее. Информация в заголовке имеет важное значение для открытия или доступа к содержимому, содержащемуся в файле. Это говорит только о том, что если заголовок поврежден, возникнет проблема с тем, что Zip-файл не откроется.
  4. Изменено Расширение Файла: Zip-файл может быть серьезно поврежден, если его расширение будет изменено на другой формат, который не поддерживается в Windows. Сильно поврежденный Zip-файл может не открыться при попытке извлечь его данные.
  5. Заражение Вирусом Заражение, вызванное вирусом, всегда является достаточной причиной возникновения любого типа ошибки, и случай не является исключением для Zip-файлов. Вирус или вредоносная программа, которая извне внедряется в архив Zip-файлов, вызовет копирование содержимого файла, тем самым повреждая его. До сих пор было ясно, что если какой-либо из ваших Zip-файлов будет поврежден, то вы можете столкнуться с проблемой того, что ваш Zip-файл не откроется.
  6. Другие Причины: Если ваш Zip-файл хранится на внешнем запоминающем устройстве и устройство повреждено в результате воздействия таких опасностей, как магнитные поля, опасно высокая температура или даже механический удар, это может повлиять на содержимое диска, включая Zip-файл в нем. Это может привести к повреждению и невозможности открыть Zip-архив, даже если диск в конечном итоге будет восстановлен. Кроме того, другой причиной может быть, если вы забудете пароль к зашифрованному архивному файлу. Однако это применимо только в том случае, если вы изначально установили пароль для своего Zip-файла.

Часть 2: Какой zip-файл можно открыть в Windows?

Существует множество форматов архивных файлов, таких как Rar, TZ, GZ, Zip, 7Zip, BZip и так далее. Попытка выбрать формат для использования может быть сложной задачей, особенно если вы не уверены, что файл можно открыть в вашей Windows. Поэтому в этой части будут показаны три основных Zip-файла, которые можно открыть в Windows, как описано ниже:

  1. Zip: Этот формат архива идеально подходит для передачи больших файлов, поскольку вы можете сжать в него более одного файла, тем самым сократив время и использование ресурсов, связанные с передачей больших файлов. Это также помогает хранить похожие файлы в одном месте. Zip считается наиболее распространенным форматом сжатия, используемым в Windows для обмена файлами и отправки их по электронной почте. Ваша версия Windows может внутренне обрабатывать Zip-файлы без необходимости обращаться за помощью к внешнему программному обеспечению или дополнительному инструменту.
  2. ZipX: Этот тип Zip — файла является более продвинутым, чем обычный формат Zip-файла. Файлы ZipX содержат несколько файлов, сжатых в расширенную версию формата Zip и меньших размеров, чем предыдущие форматы Zip. Именно здесь в игру вступает расширенная функция. ZipX был разработан компанией WinZip (WinZip 12.1), и его можно открыть в Windows.
  3. 7Z: Этот сжатый формат файла (также известный как 7-Zip) был создан Игорем Павловым с использованием различных утилит сжатия. Файл 7Z имеет высокий коэффициент сжатия и сильное шифрование AES-256. Он позволяет легко передавать Zip-файлы, экономя при этом место для хранения вашей системы. Интересно отметить, что формат файла 7Z был введен самой Windows, поэтому вы уверены, что он может быть открыт в вашей Windows.

Часть 3: Попробуйте другой архиватор

Если ваши Zip-файлы не открываются, вы можете попробовать использовать одну или несколько из множества доступных онлайн-программ, специально разработанных для архивирования и распаковки архивных файлов. Ниже приведены несколько программ, которые можем вам порекомендовать:

    1. WinRar: Если ваши Zip-файлы не открываются, вы можете попробовать использовать одну или несколько из множества доступных онлайн-программ, специально разработанных для архивирования и распаковки архивных файлов. Ниже приведено несколько рекомендуемых программ для вас:WinRAR-это мощный инструмент, который возглавляет таблицу архиваторов. Он предлагает лучший метод сжатия для архивирования файлов; создает сжатые файлы меньшего размера, что делает его быстрее, чем остальные. Он может разделить ваш Zip-файл на части и сохранить их на разных дисках.
    1. PeaZip: Этот архиватор является бесплатным инструментом, который поддерживает извлечение данных из более чем 180 форматов файлов. Кроме того, он не только распаковывает файлы, но и может создавать новые сжатые файлы в более чем 10 различных форматах. PeaZip имеет возможность создания самораспаковывающихся файлов.
    1. 7-Zip: Это программное обеспечение очень популярно для извлечения файлов и архивирования популярных форматов файлов, включая Zip-файлы. Этот инструмент имеет надежное шифрование AES-256. 7-Zip работает совместно с проводником; таким образом, вы можете щелкнуть правой кнопкой мыши на файле архива и легко разархивировать его. Однако, если вы не можете открыть архивированный файл 7-zip, восстановите его, выполнив действия описанные в этой статье.
    1. ZipGenius: Этот бесплатный инструмент был создан для использования исключительно в Windows. С помощью ZipGenius вы можете создать пароль для вновь созданного файла архива. Кроме того, вы можете разделить один большой файл на несколько разделов меньшего размера, чтобы упростить передачу и совместное использование файлов в Интернете или просто для хранения.

Часть 4: Как открыть поврежденный zip-файл

Плохие или поврежденные Zip-файлы не могут быть открыты, если они не будут восстановлены, и отличный способ восстановить поврежденный Zip-файл-это использовать программу Stellar File Repair. Это профессиональный инструмент, используемый для восстановления файлов Windows в PowerPoint, Word, Zip и Excel. Он имеет простой в использовании интерфейс, поэтому у вас не будет проблем с восстановлением и извлечением Zip-файлов. Просто выполните следующие простые шаги:

Шаг 1: Выберите местоположение поврежденного Zip-файла

Шаг 2: После отображения поврежденных Zip-файлов выберите «Восстановить», чтобы начать исправление поврежденных файлов

Шаг 3: Предварительно просмотрите Zip-файлы после их восстановления

Шаг 4: Выберите место и сохраните там восстановленные Zip-файлы.


Часть 5: Распространенные ошибки при открытии zip файлов

Существует несколько ошибок, связанных с открытием Zip-файлов, каким бы удобным это ни был формат. Некоторые из распространенных ошибок, с которыми вы можете столкнуться при открытии Zip-файлов, перечислены ниже:

    1. Недопустимый Архив: Это, бесспорно, одна из самых распространенных ошибок, с которой вы можете столкнуться при открытии Zip-файлов. Ваш Zip-файл может быть признан недействительным, если он поврежден в результате прерывания во время загрузки, передачи или копирования. Это также может быть из-за прерывания соединения с Интернетом или плохой сети во время загрузки файла.
    1. Поврежденный/Испорченный Архив: Эта ошибка может быть вызвана чрезмерным использованием zip-файла, заражением вирусом, внезапным отключением питания во время разархивирования Zip-файла или увеличением битых секторов в том месте, где находится Zip-файл. Эти факторы могут привести к потере важных данных в Zip-файле, повреждению и блокировке доступа к содержимому файла. В конечном итоге это может помешать вам открыть Zip-файл.
    1. Неизвестный Метод Сжатия: Вы можете получить это сообщение об ошибке при попытке извлечь Zip-файл:

Этот файл был сжат с использованием неизвестного метода сжатия

Это всего лищь означает, что версия компрессора, используемая для сжатия Zip-файла, отличается от той, которую вы пытаетесь использовать для распаковки архивного файла.

    1. Недопустимая/Поврежденная Папка ZIP архива: Это также вызвано ошибками при прерывании загрузки из-за отключения питания или заражения вирусом. В этом случае, хотя Zip-файл поврежден, вы все еще можете открыть его, но некоторые из его исходных данных могут пропасть. Попытка открыть такой поврежденный Zip-файл приведет только к появлению сообщения об ошибке, подобного этой:
    1. Ошибка в Данных (CRC): Эта ошибка возникает из-за повреждения данных в вашем Zip-файле. CRC-это аббревиатура от Cyclic Redundancy Check. Это значение, которое вычисляется компрессором и сохраняется во вновь созданном Zip-файле. Когда вы откроете файл, компрессор снова вычислит значение CRC, и если оно не совпадает с первоначально созданным и сохраненным, на экране обязательно появится ошибка CRC. Это способ сообщить вам, что есть проблема с данными в вашем Zip-файле.

окон — Показать все файлы, открытые программой

спросил

Изменено
7 лет, 10 месяцев назад

Просмотрено
819 раз

Я ищу способ определить все файлы, открытые процессом в Windows. Это отличается от многих (уже отвеченных) вопросов здесь, потому что мне нужно знать все файлы, открытые процессом, а не только те, которые он открыл, когда я их ищу. Таким образом, я не пропускаю файлы, которые были полностью загружены в память, а затем закрыты. Вот некоторые вещи, которые я пробовал, но они не сработали:

  • ProcExp и Handle от SysInternals (оба отображают только открытые файлы)
  • ProcMon от SysInternals (с фильтрами имени процесса и операции ReadFile и WriteFile). Этот меня удивил. Почему это не сработает?

В моем тестовом примере я открываю текстовый файл с флешки с помощью Блокнота, поэтому я не ожидаю, что ProcExp или Handle сработают (поскольку Блокнот считывает все в память, а затем закрывает файл). Однако ProcMon, похоже, должен работать. На самом деле, когда я редактирую текстовый файл и сохраняю его, я вижу операцию WriteFile и путь к моему текстовому файлу. Однако единственные операции ReadFile, которые я вижу при открытии файла, имеют C:\Windows\Fonts\StaticCache. dat . Может просто у меня неправильная конфигурация фильтра? Или мне лучше подойдет другой инструмент?

  • окна
  • процесс

8

Итак, я понял, как это сделать. К сожалению, не так много доступных ресурсов о том, как использовать ProcMon, и мои фильтры фактически работали против меня. Вот подробное описание:

  1. Добавьте фильтр, чтобы включить процесс, который вы хотите изучить
  2. В правой части верхней панели (которая находится чуть ниже «Файл», «Правка», «Событие» и т. д.) есть пять значков, четыре из которых должны быть выделены по умолчанию. Отмените выбор всех из них, кроме «Показать активность файловой системы» (компьютер с увеличительным стеклом над ним). Теперь вы должны видеть только файлы, к которым обращается ваша программа, а не обычное множество ключей реестра.
  3. Чтобы отфильтровать ненужные библиотеки DLL и файлы конфигурации, к которым он обычно обращается, выясните, в какой папке находится большинство из них (часто C:\Windows), и добавьте фильтр, подобный этому: 'Путь' 'Содержит' [ваша папка] 'Исключить'
  4. В качестве альтернативы шагу 3 добавьте такой фильтр, чтобы просто исключить библиотеки DLL: «Путь» «Содержит» «. dll» «Исключить»

Теперь вы должны видеть почти исключительно файлы и папки, открываемые программой, которые не являются зависимостями.

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

окон — Какие файлы открываются определенным приложением?

спросил

Изменено
6 лет, 11 месяцев назад

Просмотрено
80 тысяч раз

Есть ли способ вывести список всех файлов, открытых в данный момент определенным процессом в Windows?

Я имею в виду файлы, которые получили fopen , но никогда не получали fclose с помощью определенного процесса.

Я пытался использовать Sysinternals Process Monitor, но не смог понять, как вывести список текущих открытых файлов, но только когда происходит открытие.

  • окна
  • процесс

2

Вы можете попробовать Sysinternals Process Explorer вместо Process Monitor. Process Monitor предназначен для наблюдения за тем, что процессы делают в данный момент. Process Explorer больше предназначен для наблюдения за текущим состоянием процессов; это диспетчер задач, но с 10-кратной функциональностью.

Sysinternals также имеет handle.exe , который представляет собой инструмент командной строки, который сообщает вам, какие файлы открыты процессом.

Получите Process Explorer от Sysinternals.

Чтобы просмотреть открытые файлы для процесса, выберите процесс из списка, выберите пункт меню Вид->Вид нижней панели->Хэндлы. Все дескрипторы типа «Файл» являются открытыми файлами.

Кроме того, отличный способ узнать, в каком приложении открыт файл, — использовать пункт меню Find->Handle или DLL. Просто введите имя файла, который вы ищете, и нажмите «Поиск», чтобы найти процессы с открытым файлом, соответствующим строке поиска.

2

Process Explorer от Sysinternals на самом деле довольно бесполезен, когда дело доходит до дескрипторов файлов (в отличие от DLL и т.