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

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Пакетный поиск

Пользователь


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

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


Имеется главная папка (напр. - "D:\folderA\") с различными файлами и субпапаками разной степени вложения.
Имеется список имен файлов.
Как сделать bat(vbs/js)-файл который создавал бы отчет в виде csv-файла где первой строкой шел бы этот список, а второй список полных имен (полных адресов) этих файлов, напр.:
test1.txt D:\folderA\folderK\test1.txt
test2.pdf D:\folderA\folderW\test2.pdf
test3.doc D:\folderA\folderX\test3.doc
....................................
Т.е. речь идет о пакетном поиске с отчетом.

Отправлено: 21:48, 02-10-2013

 

Пользователь


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

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


В принципе я имел ввиду, что имя файла (test1.txt) и его полное имя (D:\folderA\folderK\test1.txt) будут отделены табулятором (или точкой с запятой).
И второе, о чем я не сказал, это что имена файлов и папок будут на русском, включая пробелы.
Я попробовал Ваш скрипт. Он делает файл содержащий имена и полные имена всех файлов в папке (русские имена выводятся как кракозябры и не перекодируются). Но это не решает мою задачу, мне нужно найти только те, что в списке. Есть ли решение для такой задачи?

Отправлено: 02:14, 03-10-2013 | #2



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

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


Ветеран


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

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


Цитата ruslaw:
В принципе я имел ввиду, что имя файла (test1.txt) и его полное имя (D:\folderA\folderK\test1.txt) будут отделены табулятором (или точкой с запятой). »
Вставляйте в пакетный файл между именем и полным именем вместо пробела символ табуляции или точку с запятой.

Цитата ruslaw:
И второе, о чем я не сказал, это что имена файлов и папок будут на русском, включая пробелы.
Я попробовал Ваш скрипт. Он делает файл содержащий имена и полные имена всех файлов в папке (русские имена выводятся как кракозябры и не перекодируются). »
Пробелы не бывают на русском. «Кракозябры» — это обычная OEM/866, читается любым приличным редактором без перекодировки. В принципе, не проблема сделать вывод в очевидно ожидаемой Вами ANSI/1251, переключив в пакетном файле кодовую страницу по «chcp 1251». Кодировка файла-списка, надо полагать, у Вас тоже в ANSI/1251? Но лучше не заниматься мазохизмом и держать и файл-список, и, само-собой, пакетный файл в умолчальной кодировке OEM/866.

Пробуйте:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFileList=FileList.txt
set sSourceFolder=E:\Песочница
set sOutFile=OutFile.txt

if exist "%sFileList%" (
	if exist "%sSourceFolder%\." (
		>nul copy nul "%sOutFile%"
		
		for /f "usebackq delims=" %%i in ("%sFileList%") do (
			for /f "usebackq delims=" %%j in (`2^>nul dir /s /b /a:-d "%sSourceFolder%\%%~i"`) do (
				>>"%sOutFile%" echo %%~nxj	%%~j
			)
		)
	) else (
		echo Can't find source folder [%sSourceFolder%].
	)
) else (
	echo Can't find file list [%sFileList%].
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

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


Пользователь


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

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


Отлично работает, спасибо!

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
BSOD - Пакетный файл Windows (.bat) ХоХа Тест-форум 0 03-07-2012 21:05
CMD/BAT - Пакетный файл, предназначенный для отражения статистики Sunny07 Скриптовые языки администрирования Windows 3 21-04-2011 03:45
Пакетный граббинг аудио-дисков. Smasher Видео и аудио: обработка и кодирование 13 12-09-2009 16:35
2008 - Планировщик заданий не запускает пакетный файл. Александр Семенов Windows Server 2008/2008 R2 0 14-05-2009 14:31
пакетный файл 3Gi Автоматическая установка Windows 2000/XP/2003 1 05-08-2008 19:28




 
Переход