Показать полную графическую версию : даилоговое окно Свойства файла из командной строки
aka_smile
11-08-2018, 13:17
Добрый день.
Подскажите как из текущего каталога открыть штатное диалоговое окно windows - Свойства файла - конкретного файла ?
Есть ли нативная команда ?
Есть ли нативная команда ? »
Alt+Enter на файле не устраивает?
Или вам нужно из командного файла?
aka_smile, пакетным файлом — никак. Можно на WSH/PoSH, причём лучше — на PoSH (из-за особенностей реализации поддержки COM-интерфейсов):
$oShell = New-Object -ComObject 'Shell.Application'
foreach($oVerb in $oShell.NameSpace('C:\Мои проекты\0180').ParseName('Client.dll manager.exe').Verbs()) {
if($oVerb.Name -eq 'Сво&йства') {
$oVerb.DoIt()
}
}
aka_smile
12-08-2018, 00:02
Соль в том, что я из банка, по несколько касс каждый день с pos терминалами обслуживаем.
Уже привык, не открывая проводника работать только из смд.
Часто смотрю какая версия длл файла на кассе.
И только из за этого вопроса нужен проводник.
Эх, жаль что нет короткой штатной команды
Спасибо
aka_smile, тогда Вам следовало озвучивать проблему, а не просить помочь с уже выбранным и неправильным решением. Это же совсем другое дело — показать версию выбранного файла.
1. Вы можете использовать filever.exe из комплекта Support Tools для Windows 2000, XP, 2003 (How to use the Filever.exe tool to obtain specific information about a file in Windows (https://support.microsoft.com/en-us/help/913111/how-to-use-the-filever-exe-tool-to-obtain-specific-information-about-a), отсюда же можно загрузить Support Tools для Windows XP SP2, далее его можно либо установить, либо просто извлечь filever.exe из cab-файла):
https://i.imgur.com/K9gLwL1.png
2. Вы можете использовать WSH, например:
Option Explicit
Dim strSourceFile
If WScript.Arguments.Count = 1 Then
strSourceFile = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
WScript.Echo .GetFileVersion(strSourceFile)
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
WScript.Quit 1
End If
WScript.Quit 0
https://i.imgur.com/PzAuPpO.png
3. Вы можете использовать PowerShell, в том числе прямо из командной строки, например:
powershell.exe -Command "([System.IO.FileInfo]'iadstools.dll').VersionInfo"
https://i.imgur.com/V6bR8kq.png
4. Наконец, можно просто установить Far Manager, добавить плагин FileVer или плагин Version Info и раз и навсегда забыть об окне «Свойства»:
https://i.imgur.com/zpgBYfb.png
https://i.imgur.com/RxZqSK1.png
Я бы сказал, основной метод:
wmic datafile "c:\\Windows\\notepad.exe" get Version
потому что он же используется в фильтре групповых политик
wmic datafile "c:\\Windows\\notepad.exe" get Version »
Забыл :).
aka_smile
14-08-2018, 01:18
wmic datafile "c:\\Windows\\notepad.exe" get Version »
спасибо,
действительно удобно, хотя могли бы мелкие могли бы и покороче сделать команду)
неудобство разве в том, что автозавершение по Таб не работает, потому что есть 2 косых черты
а возможно ли укоротить команду, находясь в текущем каталоге?.
А то ж ответ такой..
c:\windows> wmic datafile notepad.exe get version
Отсутствуют экземпляры
Iska, предложенные вами рекомендации минутозатратны для работы "в полях".
да и потом, на кассах клиентов права ограничены, поэтому спросил о штатном инструменте
хотя могли бы мелкие могли бы и покороче сделать команду) »
а возможно ли укоротить команду, находясь в текущем каталоге?.
А то ж ответ такой..c:\windows> wmic datafile notepad.exe get version
Отсутствуют экземпляры »
Покороче — не получится: полный путь к файлу — является квалификатором, по которому указанный файл идентифицируется среди прочих. Пространство имён плоское, никакой иерархии, потому — никаких «текущих каталогов», точнее — вообще никаких каталогов, только файлы, единым общим списком. Когда указывается полный путь — файл выбирается сразу, без поиска. Если попытаться указать только имя, задействовав условие:
wmic.exe DataFile where "FileName = 'notepad' AND Extension = 'exe'" Get Name, Version
— начнётся перебор всех файлов во всех доступных местах, та ещё радость по затратам времени — можно будет двадцать раз успеть набрать полный путь «ручками». Зато будут найдены все наличествующие Блокноты, даже те, о которых Вы, может быть, и не подозревали :lol:.
неудобство разве в том, что автозавершение по Таб не работает, потому что есть 2 косых черты »
Работает. Только потом надо будет пройтись по команде и ручками добавить в путь вторые экранирующие слэши.
Iska, предложенные вами рекомендации минутозатратны для работы "в полях".
да и потом, на кассах клиентов права ограничены, поэтому спросил о штатном инструменте »
В чём плюс размещения вопроса на форуме, а не стучании в личку (как любят поступать некоторые несознательные товарищи) — что дать ответ может любой участник, и если один что-то запамятовал, то другой не преминет напомнить об упущенном.
aka_smile, в общем, я Вам отчасти соврамши.
а возможно ли укоротить команду, находясь в текущем каталоге?. »
Немного сократить таки можно, до:
wmic.exe DataFile "%cd:\=\\%\\notepad.exe" get Version
Serguei Kouzmine
14-08-2018, 04:44
@aka_smile так сохраните куда нибудь в пути .cmd файл ?
a.cmd:
@echo OFF
set target=%1
set key=%target:\=\\%
call wmic.exe DataFile "%key%" get Version /format:list
и вызывйте
a c:\Windows\notepad.exe
Version=6.3.9600.17930
aka_smile
14-08-2018, 04:55
Serguei Kouzmine,
Обращаю внимание, работа "в полях" является мобильным направлением и чтобы воткнуть флешку, иногда нужно залезть под стол и умудриться найти свободный УСБ порт, а если его нет то вытащить другое оборудование, а также надо умудритсяь по уходу не забыть забрать флешку, что часто бывает в нашем деле.
Поэтому я и просто что-то быстрое, простое, штатное.
Iska , спасибо, конечно стоит привыкнуть прежде чем набью руку по времени)
хотя, первый вариант синтаксически информативней, запомнить легче.
но если путь "вырвиглаз", тогда второй вариант выгоднее.
после всех этих рисований понял, что
start.
использовать выгоднее, а потом на файле alt+enter..
Serguei Kouzmine
17-08-2018, 19:23
@aka_smile посмотрите еще раз на теперь правильно отформатированный пример bat файла в моем посте выше
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.