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

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

Ответить
Настройки темы
CMD/BAT - Как найти папку по половине названия

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


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

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


Здравствуйте,нужна помощь,как найти папку зная только половину ее названия т.е первая половина не известная и состоит из 8 символов,а дальше идет такое название .Default Main,сам вопрос в том что как зайти в эту папку зная только 2 часть ее названия,после того как можно зайти заменить файл с название Remember.inf

Отправлено: 15:00, 28-08-2014

 

Ветеран


Contributor


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

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


Цитата:
как найти папку зная только половину ее названия ... как зайти в эту папку зная только 2 часть ее названия
Код: Выделить весь код
@Echo Off
cls

FOR /D /R "D:\Kuku" %%i IN ("*.Default Main") DO (
	Echo %%i
	Cd /d %%i
	Dir *.*
)
Цитата:
как можно зайти заменить файл с название Remember.inf
Объясните, КАК Вы собираетесь его заменить и насколько принципиально, чтобы первая часть названия папки состояла из 8 символов.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-08-2014 в 16:26.

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

Отправлено: 16:15, 28-08-2014 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
@echo off

set "directory_for_search=D:\Test"
set "mask=*.Default Main"
set "file_to_copy=E:\Remember.inf"

for /f "delims=" %%i in ('
 dir /ad/b/s "%directory_for_search%\%mask%"^| findstr /rc:"\\........\%mask:~1%$"
') do (
 start "" explorer "%%i"
 >nul timeout /t 5
 start "" cmd /c "copy "%file_to_copy%" "%%i"& >nul timeout /t 5"
 )

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

Отправлено: 16:24, 28-08-2014 | #3


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


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

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


Спасибо,а можно сделать так что бы копировался не 1 ,а 2 файла,да первый файл просто по пути *.Default Main\Remember.ini ,а второй *.Default Main\Redist\SettingsManager.ini
И да как можно убрать открытие найденной папки,не нужно что бы выскакивала в проводнике

Последний раз редактировалось Gisender, 28-08-2014 в 17:10.


Отправлено: 16:57, 28-08-2014 | #4


Ветеран


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

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


Код: Выделить весь код
@echo off

set "directory_for_search=D:\Test"
set "mask=*.Default Main"

set "file_to_copy_1=E:\Remember.ini"
set "destination_folder_1=."

set "file_to_copy_2=E:\SettingsManager.ini"
set "destination_folder_2=Redist"

for /f "delims=" %%i in ('
 dir /ad/b/s "%directory_for_search%\%mask%"^| findstr /rc:"\\........\%mask:~1%$"
') do (
 copy "%file_to_copy_1%" "%%i\%destination_folder_1%"
 copy "%file_to_copy_2%" "%%i\%destination_folder_2%"
 )

>nul timeout /t 5
exit /b

Цитата Gisender:
а лучше вместо копирования создавался с текстом »
Приведите нужный текст для обоих файлов.

Отправлено: 17:41, 28-08-2014 | #5


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


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

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


Цитата Georgio:
Приведите нужный текст для обоих файлов. »
Да я так подумал,не стоит тексе,лучше просто копирование

Отправлено: 17:53, 28-08-2014 | #6


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


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

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


Здравствуйте давно не заходил,нужна помощь к вашему батнику ниже,нужно кое что дописать,а именно что бы в начале перед копированием создавалась папка в этой директориии "set "destination_folder_1=."" и удалялся с этой же директории файл с именем prefs.js,а уже после начиналось копирование


Цитата Georgio:
@echo off
set "directory_for_search=D:\Test"
set "mask=*.Default Main"
set "file_to_copy_1=E:\Remember.ini"
set "destination_folder_1=."
set "file_to_copy_2=E:\SettingsManager.ini"
set "destination_folder_2=Redist"
for /f "delims=" %%i in ('
dir /ad/b/s "%directory_for_search%\%mask%"^| findstr /rc:"\\........\%mask:~1%$"
') do (
copy "%file_to_copy_1%" "%%i\%destination_folder_1%"
copy "%file_to_copy_2%" "%%i\%destination_folder_2%"
)
>nul timeout /t 5
exit /b »

Отправлено: 11:20, 04-01-2015 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Как найти в архиве тестовые файлы по содержимому, а не по расширению? yaoleg2 Скриптовые языки администрирования Windows 0 04-01-2013 15:18
Как найти папку с keygen.exe? soroka20 Игры 4 15-10-2012 18:02
Антивирусы - Где это, как найти эту папку System Volume Information ? Там вирус и троян у меня. micro8 Лечение систем от вредоносных программ 3 12-06-2010 14:33
[решено] Как найти папку с фаворитами, после частичной переустановки системы? Мартиша Хочу все знать 10 22-09-2009 23:36




 
Переход