Witam, udało mi się napisać coś takiego, niestety szukam i nie mogę za bardzo połączyć to co znalazłem, a doświadczenia w kwestii skryptów batchowych nie mam. Szukam skryptu batch który po uruchomieniu wypluje mi listę z plikami z katalogu w którym plik został uruchomiony i z podkatalogów w tym katalogu, a także wyświetli wersję dla każdego z nich. Udało mi się napisać jak dotąd (co nie jest żadnym wyczynem, zdaje sobie sprawę):
@ECHO OFF
for /R %%f in (*) do echo %%f
PAUSE
Co daje efekt:
Gdzieś obok, w tej samej linijce chciałbym uzyskać wersję danego pliku, posiadam Windows 7 i na tej wersji będę uruchamiał ten skrypt.
@echo off
setlocal disableDelayedExpansion
set "root=%cd%"
set "output=output.txt"
set "tempFile=%temp%\dir_ts_%random%.txt"
(
for /r "%root%" %%F in (.) do (
set "folder=%%~pnxF\"
set "drive=%%~dF"
setlocal enableDelayedExpansion
2>nul wmic datafile where "drive='!drive!' and path='!folder:\=\\!' AND Extension='dll'" get name, version
endlocal
)
) >"%tempFile%
sort "%tempFile%" >"%output%"
del "%tempFile%"
type "%output%"
@echo off
setlocal disableDelayedExpansion
set "root=%cd%"
set "output=output.txt"
(
for /r "%root%" %%F in (.) do (
set "folder=%%~pnxF\"
set "drive=%%~dF"
setlocal enableDelayedExpansion
2>nul wmic datafile where "drive='!drive!' and path='!folder:\=\\!' AND (Extension='dll' OR Extension='exe')" get name, version
endlocal
)
) > "%output%"
type "%output%"