Показать полную графическую версию : [решено] Создание CSV файла
Miravild
03-11-2013, 23:19
Вечер добрый коллеги!
Есть задача создания CSV или TXT файла, который содержит: "Data Created" (Дата создания файла), "File Version" (версия файла) и "Description" (Описание файла) EXE файлов содержащихся в папке. Получается 3 столбца.
К примеру:
rem *******************
rem Записываем в CSV файл
rem *******************
@echo off
setlocal EnableDelayedExpansion
(
echo "Name", "Data Modified", "Data Created"
for %%f in (*.exe) do (
set "name=%%~nxf"
if not "!name!"=="%~nx0" (
set "mtime=%%~tf"
for /f "tokens=1-3" %%d in (
'dir /t:c "!name!" ^| find /i "!name!"'
) do set "ctime=%%~d %%~e"
echo "!name!", !mtime!, !ctime!, !filver!
)
)
) > Cont.csv
Foreigner
03-11-2013, 23:55
Powershell
$files = @()
gci C:\Windows\*.exe | % {
$files += new-object psobject -property $( [ordered] @{
Name = $($_.VersionInfo.FileName)
Time = $($_.CreationTime)
Version = $($_.VersionInfo.FileVersion)
Description = $($_.VersionInfo.FileDescription)
})
}
$files | export-csv .\files.csv -encoding default
Miravild
04-11-2013, 00:48
Благодарю за ответ Foreigner
(Лучше, конечно, bat\batch файл, поскольку не сталкивался со скриптовым языком Powershell).
При запуске скрипта выдаёт ошибку (см. файл)
Лучше, конечно, bat\batch файл, поскольку не сталкивался со скриптовым языком Powershell »
Фокус не удастся, поскольку нет возможности определять версию файла кроме как сторонней утилитой.
При запуске скрипта выдаёт ошибку (см. файл) »
Как разрешить выполнение скриптов PowerShell - Поиск в Google (https://www.google.ru/search?q=%D0%BA%D0%B0%D0%BA+%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D1%82%D1%8C+%D0%B2%D1%8B%D0%B F%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2+PowerSh ell).
Foreigner
04-11-2013, 08:43
Miravild, У вас наверное PowerShell v2.0 ? Извиняюсь, не подумал, тогда измените:
$files = @()
gci C:\Windows\*.exe | % {
$files += new-object psobject -property @{
Name = $($_.VersionInfo.FileName)
Time = $($_.CreationTime)
Version = $($_.VersionInfo.FileVersion)
Description = $($_.VersionInfo.FileDescription)
}
}
$files | select Name, Time, Version, Description | export-csv .\files.csv -encoding default
Miravild
04-11-2013, 10:07
День добрый коллеги!
Установлен PowerShell V2 CTP (beta)
Windows PowerShell
(C) Корпорация Майкрософт, 2009. Все права защищены.
PS C:\Users\> $host.version
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
По поводу
Как разрешить выполнение скриптов PowerShell - Поиск в Google.
Iska, если посмотреть прикреплённый файл, то ошибка в другом. Разрешение на запуск скрипта дал.
Конечно, перед тем, как спрашивать совета, посмотрел информацию в интернете.
Во-всяком случае, спасибо за ответ.
Miravild
04-11-2013, 10:22
Благодарю за скрипт Foreigner .
Небольшой нюанс.
Есть возможность убрать абсолютный путь, оставив, только название файла.
То, что получилось при выполнение.
Name,"Time","Version","Description"
C:\DebtControl\actions_log.exe,"21.03.2013 13:23:45","6.12.3.0","Лог действий"
C:\DebtControl\bank_portfolio-old.exe,"05.09.2013 12:30:01","6.11.0.16","Банки и портфели"
Оставив только название файла:
Name,"Time","Version","Description"
actions_log.exe,"21.03.2013 13:23:45","6.12.3.0","Лог действий"
bank_portfolio-old.exe,"05.09.2013 12:30:01","6.11.0.16","Банки и портфели"
Foreigner
04-11-2013, 11:03
Miravild, Измените строку:
Name = $($_.Name)
Miravild
04-11-2013, 21:52
Благодарю Foreigner за помощь.
Iska, если посмотреть прикреплённый файл, то ошибка в другом. »
Miravild, прошу прощения, не доглядел до конца.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.