Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Проверка файлов по сети

Ответить
Настройки темы
CMD/BAT - Проверка файлов по сети

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Пока у меня получилось такое:
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% не меняется.

Где я не прав?

Отправлено: 14:20, 28-02-2013

 

Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Цитата -Lesnik-:
dir/b/a-d/o:-d "%%i%%j »
а что такое %%j?

Отправлено: 17:42, 28-02-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

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

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

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

Отправлено: 09:28, 01-03-2013 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
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!
)
Хех, вроде то, что надо)

Отправлено: 11:18, 01-03-2013 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Проверка файлов по сети

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Удаление файлов по сети старше 7 дней, оставлять не менее 10 файлов white155 Скриптовые языки администрирования Windows 6 04-01-2012 00:42
CMD/BAT - Рассылка файлов по сети на каждый комп (и сбор файлов с компов) Serg2010 Скриптовые языки администрирования Windows 7 18-08-2009 11:08
Java - Передача файлов по сети (Java) EvgeniyQQQ Программирование и базы данных 2 17-11-2008 14:19
Разное - ВВосстановление файлов удаленных по сети VDima Microsoft Windows 2000/XP 4 28-10-2007 17:15
Удаление файлов по сети в карзину Admiral83 Сетевые технологии 1 15-02-2006 14:51




 
Переход