Компьютерный форум 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=255156)

-Lesnik- 28-02-2013 14:20 2101094

Проверка файлов по сети
 
Доброго времени суток)
Задача такая: есть список файлов разбросанных по сети. Нужно найти их и записать в файл время изменения.

Пока у меня получилось такое:
config.txt - тут лежит список файлов, причем путь к файлу и имя файла разделяются запятой.
Для файлов может применяться маска.

Код:

for /f "tokens=1,2* delims=," %%i in (config.txt) do (

        set filename=
        for /f "delims=" %%k in ('dir/b/a-d/o:-d "%%i%%j"') do (

                set filename=!filename!%%k

        )
        echo "%filename%"
)

В результате имею:
Цитата:

"Контрольный протокол.xls"
"Контрольный протокол.xls"
"Контрольный протокол.xls"
"Контрольный протокол.xls"
Значение %filename% не меняется.

Где я не прав?

zion87 28-02-2013 17:42 2101234

Цитата:

Цитата -Lesnik-
dir/b/a-d/o:-d "%%i%%j »

а что такое %%j?

-Lesnik- 01-03-2013 09:28 2101581

Забыл указать - по маске надо найти самый свежий файл в каталоге.

%%i - это каталог
%%j - имя файла

В конфиг.тхт примерно такое:
\\server\path\to\file\,*.txt

Разделитель - запятая.

Возможно, это усложнение. Но после поиска самого свежего файла, у меня на руках только имя файла. Таким образом, храню путь до каталога.
То есть следующее действие - через for взять время создания %%i%filename%.
Но значение filename не меняется.

-Lesnik- 01-03-2013 11:18 2101649

Код:

setlocal enabledelayedexpansion

for /f "tokens=1,2* delims=," %%i in (config.txt) do (

        pushd %%i
        for /f "delims=" %%k in ('dir/b/a-d/o:d "%%j"') do (
                for /f %%a in ("%%~tk") do (
                        set data=%%a
                )               
        )
        popd
        echo %%i%%j !data!
)

Хех, вроде то, что надо)


Время: 19:39.

Время: 19:39.
© OSzone.net 2001-