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

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

Gisender 07-09-2014 14:45 2399542

Bat файл на поиск файл
 
Помогите создать Bat файл на поиск файл на всем пк,его удаление и копирование на его места другого

Elven 08-09-2014 11:12 2399922

А я думал что "файл" склоняется.
если правильно понял условие, то как-то так.
Код:

@echo off
for /d %%p in (c d e f) do (forfiles /s /p %%p:\ /m abracadabra.tst /c "cmd /c xcopy /y orderliness.tst @path")

где c d e f - локальные диски
abracadabra.tst - файл который ищем и удаляем
orderliness.tst - файл который подсовываем вместо удаленного

Gisender 08-09-2014 11:26 2399934

Да все правильно,а как сделать без указания локальных дисков,к примеру если я не знаю как называются локальные диски на пк,может вместо D будет G и так далее
И вот насчет подсовывания,не вижу где указывается путь откуда будет копироваться файл или это /m?

Elven 08-09-2014 14:12 2400024

путь куда будет копироваться это @path (см. forfile /?)
если нужно искать на всех локальных дисках можно просто перечислить все от С: до Z: и все, те которые отсутствуют будут просто пропущены.

Gisender 08-09-2014 19:58 2400156

Цитата:

Цитата Elven
путь куда будет копироваться это @path (см. forfile /?) »

не куда а откуда

Gisender 08-09-2014 20:54 2400178

Не получается,он не удаляет найденный файл и не копирует другой

Elven 09-09-2014 14:49 2400418

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

Gisender 09-09-2014 21:47 2400554

Цитата:

Цитата Elven
он копирует другой файл с тем именем которое было у удаленного файла. ставьте задачу конкретнее если есть желание чтобы ее решали. »

Да я понял,разобрался,такой вопрос,как подставляемый файл сделать с другим расширением к примеру вот он ищет abracadabra.tst удаляет его и на его место ставит orderliness.tst только меняет имя на тот файл который был удален как сделать так,что бы он искал abracadabra.tst удалял,но вместо него подставлял к пример abracadabra.tst.fxp т.е опять же копировал orderliness.tst только когда переименовывал ставил расширение нужное мне,а не такое как у удаляемого файла.Спасибо.

Gisender 09-09-2014 22:10 2400561

Да и еще он не удаляет и не заменяет,если все 3 файла не находятся в 1 папке

Gisender 09-09-2014 22:55 2400583


Elven 10-09-2014 15:03 2400837

В папке с батником должен находится только orderliness.tst если он находится в другой папке - указать путь к ней.
Код:

@echo off
for /d %%p in (c d e f) do (forfiles /s /p %%p:\ /m abracadabra.tst /c "cmd /c xcopy /y d:\orderliness.tst @path && ren @path orderliness.tst")


Gisender 10-09-2014 19:38 2400973

Цитата:

Цитата Elven
В папке с батником должен находится только orderliness.tst если он находится в другой папке - указать путь к ней. »

Они находилисьв папке с батником.


Все работает Да и насчет этого вопроса еще не подскажите?
Цитата:

Цитата Gisender
Да я понял,разобрался,такой вопрос,как подставляемый файл сделать с другим расширением к примеру вот он ищет abracadabra.tst удаляет его и на его место ставит orderliness.tst только меняет имя на тот файл который был удален как сделать так,что бы он искал abracadabra.tst удалял,но вместо него подставлял к пример abracadabra.tst.fxp т.е опять же копировал orderliness.tst только когда переименовывал ставил расширение нужное мне,а не такое как у удаляемого файла.Спасибо. »


Elven 10-09-2014 20:03 2400988

Цитата:

Цитата Elven
Код:

@echo off
for /d %%p in (c d e f) do (forfiles /s /p %%p:\ /m abracadabra.tst /c "cmd /c xcopy /y d:\orderliness.tst @path && ren @path orderliness.tst")

»


Gisender 10-09-2014 20:26 2400993

Туплю извините


Время: 19:19.

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