Показать полную графическую версию : Bat файл на поиск файл
Gisender
07-09-2014, 14:45
Помогите создать Bat файл на поиск файл на всем пк,его удаление и копирование на его места другого
А я думал что "файл" склоняется.
если правильно понял условие, то как-то так.
@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?
путь куда будет копироваться это @path (см. forfile /?)
если нужно искать на всех локальных дисках можно просто перечислить все от С: до Z: и все, те которые отсутствуют будут просто пропущены.
Gisender
08-09-2014, 19:58
путь куда будет копироваться это @path (см. forfile /?) »
не куда а откуда
Gisender
08-09-2014, 20:54
Не получается,он не удаляет найденный файл и не копирует другой
он копирует другой файл с тем именем которое было у удаленного файла. ставьте задачу конкретнее если есть желание чтобы ее решали.
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
В папке с батником должен находится только 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 только когда переименовывал ставил расширение нужное мне,а не такое как у удаляемого файла.Спасибо. »
@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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.