5

Какой самый простой способ поиска файлов из командной строки в Windows XP?

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

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

3 ответа3

4

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

Вот несколько примеров, чтобы дать вам идею:

найти файлы, созданные с определенной даты в текущем каталоге:

C:\>Get-ChildItem | Where-Object{$_.CreationTime -gt "28/12/2009 8:00:00 PM"}


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        28/12/2009   3:56 PM          0 newfile.txt

найти текстовый файл больше определенного размера в текущем каталоге (в байтах):

C:\> Get-ChildItem | Where-Object{$_.length -gt 16000}


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        21/12/2009   7:02 PM      16504 svc.txt

найти все mp3 файлы на другом диске:

C:\> Get-ChildItem D:\ -include *.mp3 -Recurse -Force


    Directory: Microsoft.PowerShell.Core\FileSystem::D:\


Mode                LastWriteTime     Length Name
----                -------------     ------ ----

-a---        12/03/2009   4:01 PM    4418246 eric clapton - tears in heaven.mp3
-a---        22/05/2009   2:24 AM    7714143 led zeppelin - stairway to heaven.mp3
-a---        13/06/2009   2:39 AM    5507148 pearl jam - black.mp3
-a---        13/06/2009   2:39 AM    3042452 pearl jam - last kiss.mp3
-a---        31/12/2008   5:43 AM    3216613 rush - fly by night.mp3
-a---        31/12/2008   6:37 AM    4267363 Rush - Limelight.mp3
-a---        31/12/2008   6:02 AM    4224300 rush - yyz.mp3
-a---        07/12/2008   2:05 AM    2827218 rush - closer to the heart.mp3
-a---        19/05/2009   5:21 AM    5842779 styx - come sail away.mp3


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

3

Что ж, если мы упоминаем нестандартные языки сценариев, я использую бесплатную версию TCC/LE. Все команды поддерживают диапазоны даты / размера.

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

Чтобы просмотреть все файлы в течение 7 дней:

dir /sf /[d-7]

Чтобы просмотреть все файлы с 30 октября 2009 года:

dir /sf /[d2009-10-30]

Чтобы найти файлы размером более 57 000 байт:

dir /sf /[s57000]

Чтобы найти файлы размером менее 57 000 байт:

dir /sf /[s0,57000]

Что касается сохранения команды в текстовом файле, вы можете настроить псевдонимы, чтобы сделать то же самое, т.е.

alias today=dir /sf /[d0]
alias week=dir /sf /[d-7]
2

Личное предпочтение - просто получить копию команды unix find, портированной на windows. 65k EXE-файла, и за последние 20 лет я не встречал ничего такого, чего не мог бы найти, основываясь на различных параметрах и переключателях. Затем добавьте опцию, чтобы действовать на любой файл, который он находит, очень полезно. Слишком много примеров, чтобы перечислить здесь, но посмотрите

http://linux.about.com/od/commands/l/blcmdl1_find.htm
а также
http://content.hccfl.edu/pollock/unix/findcmd.htm

Его можно найти в zip-файле на сайте http://sourceforge.net/projects/unxutils/.

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