Войти

Показать полную графическую версию : Bat файл на поиск файл


Gisender
07-09-2014, 14:45
Помогите создать Bat файл на поиск файл на всем пк,его удаление и копирование на его места другого

Elven
08-09-2014, 11:12
А я думал что "файл" склоняется.
если правильно понял условие, то как-то так.

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

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

Gisender
08-09-2014, 19:58
путь куда будет копироваться это @path (см. forfile /?) »
не куда а откуда

Gisender
08-09-2014, 20:54
Не получается,он не удаляет найденный файл и не копирует другой

Elven
09-09-2014, 14:49
он копирует другой файл с тем именем которое было у удаленного файла. ставьте задачу конкретнее если есть желание чтобы ее решали.

Gisender
09-09-2014, 21:47
он копирует другой файл с тем именем которое было у удаленного файла. ставьте задачу конкретнее если есть желание чтобы ее решали. »

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

Gisender
09-09-2014, 22:10
Да и еще он не удаляет и не заменяет,если все 3 файла не находятся в 1 папке

Gisender
09-09-2014, 22:55
http://tau.rghost.ru/57933184/image.png http://tau.rghost.ru/57933222/image.png

Elven
10-09-2014, 15:03
В папке с батником должен находится только 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
В папке с батником должен находится только orderliness.tst если он находится в другой папке - указать путь к ней. »
Они находилисьв папке с батником.


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

Elven
10-09-2014, 20:03
@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
Туплю извините




© OSzone.net 2001-2012