Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Вывод в файл имен последних файлов в папках (http://forum.oszone.net/showthread.php?t=269086)

ivanxam 01-10-2013 10:00 2226587

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

Код:

@echo off
SetLocal EnableDelayedExpansion

for /F %%A in (listdir.txt) do (
          for /f %%i in ('dir %%A /a-d /o-d /b') do (echo %%i >> dir.txt && exit) )

listdir.txt выглядит так
G:\jurnal\100001
G:\jurnal\100002
G:\jurnal\100003
G:\jurnal\100004
...

В файл выводит только имя последнего файла из первой папки, потом вообще выходит из программы, это из-за exit, но без него выводит все файлы.
Помогите разобраться.

Iska 01-10-2013 13:05 2226683

Например, так:
читать дальше »
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sOutFile=dir.txt
set sListFile=listdir.txt

if exist "%sOutFile%" del /f /q "%sOutFile%"

if exist "%sListFile%" (
        for /f "usebackq delims=" %%i in ("%sListFile%") do (
                if exist "%%~i\." (
                        for /f "usebackq" %%j in (`dir /a:-d /o:-d /b "%%~i"`) do (
                                if not defined bFirstStep (
                                        set bFirstStep=1
                                        >>"%sOutFile%" echo %%j
                                )
                        )
                        set bFirstStep=
                ) else (
                        echo Can't find folder [%%~i]
                )
        )
) else (
        echo Can't find file [%sListFile%].
)

endlocal
exit /b 0


ivanxam 01-10-2013 13:26 2226697

Iska, премного благодарен, все как доктор прописал. :)


Время: 11:37.

Время: 11:37.
© OSzone.net 2001-