Подскажите батник по удалению всех папок с заданным именем ХХХ из заданного каталога YYY, содержащего подкаталоги, в них еще подкаталоги и т. д., причем папки XXX могут находиться на любых разных уровнях этой лестницы.
» Задачи на bat-файлах 4
lid111
Попробуй вот так
Код:
@echo off
for /r "YYY" /d %%i in (*) do (echo "%%i" | findstr "XXX" && rd /s /q "%%i")
Попробуй вот так
Код:
@echo off
for /r "YYY" /d %%i in (*) do (echo "%%i" | findstr "XXX" && rd /s /q "%%i")
Не получается что-то. А это сработало:
http://forum.oszone.net/post-720601.html
http://forum.oszone.net/post-720601.html
lid111
for /r "YYY" %%i in (.) do (
if "%%~ni"=="ХХХ" rd "%%i" /s /q
)
где YYY полный путь
ХХХ только имя папки
for /r "YYY" %%i in (.) do (
if "%%~ni"=="ХХХ" rd "%%i" /s /q
)
где YYY полный путь
ХХХ только имя папки
lid111
Цитата:
Ну так там ты ставишь одно условие, здесь совсем другое. Правильный вопрос - правильный ответ.
Цитата:
Не получается что-то. А это сработало:
http://forum.oszone.net/post-720601.html
Ну так там ты ставишь одно условие, здесь совсем другое. Правильный вопрос - правильный ответ.
01MDM
Цитата:
Там условие ставлю не я! Просто случайно нашел в сети, подставил, от фонаря, ничего не понимая в DOS, вместо того, что между кавычками в примере, свое XXX, и все подпапки с этим названием благополучно исчезли.
Цитата:
Ну так там ты ставишь одно условие
Там условие ставлю не я! Просто случайно нашел в сети, подставил, от фонаря, ничего не понимая в DOS, вместо того, что между кавычками в примере, свое XXX, и все подпапки с этим названием благополучно исчезли.
01MDM
lid111
Оба примера не совсем корректны, например если искать в каталоге C:\temp\45\12345678\Sections\ папки для удаления с именем 456, то весь каталог C:\temp\45\12345678\Sections\ удалится.
Не проверял, возможно неправильно рассуждаю.
lid111
Оба примера не совсем корректны, например если искать в каталоге C:\temp\45\12345678\Sections\ папки для удаления с именем 456, то весь каталог C:\temp\45\12345678\Sections\ удалится.
Не проверял, возможно неправильно рассуждаю.
lid111
Может просто что-то не так подставил. Главное решил в результате свою задачу.
king_stiven
Ну наверное что-то вроде, если точное имя "456"
Код:
@echo off
for /r "C:\temp\45\12345678\Sections" /d %%i in ("456") do rd /s /q "%%i"
Может просто что-то не так подставил. Главное решил в результате свою задачу.
king_stiven
Ну наверное что-то вроде, если точное имя "456"
Код:
@echo off
for /r "C:\temp\45\12345678\Sections" /d %%i in ("456") do rd /s /q "%%i"
По адресу http://forum.oszone.net/post-720601.html, на который я сослался выше, уже, смотрю, предлагают новые рецепты, а у меня из всего предложенного здесь и там помогло только то, что на oszone в посте от busla:
Код: @echo off
if exist %temp%\dirs.txt erase %temp%\dirs.txt
for /r %%i in (.) do echo %%i >> %temp%\dirs.txt
for /f %%d in ('findstr /r /c:".*\\~[^\\]*\\\." %temp%\dirs.txt') do rd /s /q %%d
Код: @echo off
if exist %temp%\dirs.txt erase %temp%\dirs.txt
for /r %%i in (.) do echo %%i >> %temp%\dirs.txt
for /f %%d in ('findstr /r /c:".*\\~[^\\]*\\\." %temp%\dirs.txt') do rd /s /q %%d
lid111
Цитата:
Ну конечно, в этом каталоге нет еще одного YYY , надо указывать как подсказал king_stiven
Цитата:
А теперь попробуй запустить озоновский батник из другого каталога.
Нельзя все примеры применять буквально.
Цитата:
положил его в каталог YYY
Ну конечно, в этом каталоге нет еще одного YYY , надо указывать как подсказал king_stiven
Цитата:
где YYY полный путь
А теперь попробуй запустить озоновский батник из другого каталога.
Нельзя все примеры применять буквально.
01MDM
Да скорей всего надо ещё добавить команду
chcp 1251 > nul
мы уже к этому привыкли, а человек пока пользуется интуицией
Да скорей всего надо ещё добавить команду
chcp 1251 > nul
мы уже к этому привыкли, а человек пока пользуется интуицией
@echo off
for /r "C:\" /d %%i in ("*роро*") do rd /s /q "%%i"
chcp 1251 > nul
это из вышесказанного king_stiven и 01MDM. Папки и подпапки на диске С, содержащие "роро" в названии - остались на месте.
for /r "C:\" /d %%i in ("*роро*") do rd /s /q "%%i"
chcp 1251 > nul
это из вышесказанного king_stiven и 01MDM. Папки и подпапки на диске С, содержащие "роро" в названии - остались на месте.
lid111
1 так у тебя папка имеет конкретное имя `роро` или `*роро*` ?
2 в таком порядке используй
@echo off
chcp 1251 > nul
...
3 кстати в моём примере `РоРо` тоже не пройдёт, если без различия верхнего и нижнего регистра букв надо, тогда
if /i "%%~ni"=="ХХХ" rd "%%i" /s /q
1 так у тебя папка имеет конкретное имя `роро` или `*роро*` ?
2 в таком порядке используй
@echo off
chcp 1251 > nul
...
3 кстати в моём примере `РоРо` тоже не пройдёт, если без различия верхнего и нижнего регистра букв надо, тогда
if /i "%%~ni"=="ХХХ" rd "%%i" /s /q
king_stiven
Цитата:
Спасибо, так сработало. Я ведь в досе - ноль, прочитал - добавить команду, и добавил, куда не попадя. А что кас.
Цитата:
то в данном случае я попробовал с *роро*. Я ведь для проверки батника создаю новые каталоги, отфонарные, чтоб не жалко было...
А моя ссылка на oszone уже нерабочая - куда-то там дели эту страницу - переместили или снесли...
Цитата:
2 в таком порядке используй
@echo off
chcp 1251 > nul
Спасибо, так сработало. Я ведь в досе - ноль, прочитал - добавить команду, и добавил, куда не попадя. А что кас.
Цитата:
у тебя папка имеет конкретное имя `роро` или `*роро*` ?
то в данном случае я попробовал с *роро*. Я ведь для проверки батника создаю новые каталоги, отфонарные, чтоб не жалко было...
А моя ссылка на oszone уже нерабочая - куда-то там дели эту страницу - переместили или снесли...
Подскажите плиз, как правильно записать строку: зайти на определенный комп в сети (по ip) и зайти на админский ресурс используя имя и пароль для запуска определенной софтины(для наглядности, но неверно - \\192.168.1.1\с$pass\soft.exe)
Ребят, думаю, не первый задам вопрос - есть ли автоматизированные средства просканить все компы в домене и сформировать файлик с пользователями, которые залогинены в данный момент на этих ПК?
jupiter1976
net use /?
net use \\192.168.0.1\c$ PASSWORD /user:USERNAME
net use /?
net use \\192.168.0.1\c$ PASSWORD /user:USERNAME
cluster
Попробуй утилиту psloggedon.exe, она, вроде, для этого подойдет. Проверить негде.
http://technet.microsoft.com/ru-ru/sysinternals/bb897545(en-us).aspx
Попробуй утилиту psloggedon.exe, она, вроде, для этого подойдет. Проверить негде.
http://technet.microsoft.com/ru-ru/sysinternals/bb897545(en-us).aspx
Если на батник с таким кодом:
Код:
cmdow @ /hid
rem Some code here
Код:
cmdow @ /hid
rem Some code here
Уважаемые пользователи!
Нужно решение такой задачи:"подсчитать количество файлов определённого типа ну указаном диске"(Вообщем первым делом вывести список существующих дисков и возможность выбора одного из них.Второе ввод типа файлов которые будем искать,тоесть с клавиатуры вводим например "txt" или "doc" или любой другой набор).
Заранее благодарна
Нужно решение такой задачи:"подсчитать количество файлов определённого типа ну указаном диске"(Вообщем первым делом вывести список существующих дисков и возможность выбора одного из них.Второе ввод типа файлов которые будем искать,тоесть с клавиатуры вводим например "txt" или "doc" или любой другой набор).
Заранее благодарна
Здравствуйте, подскажите пожалуйста батник для удаления всех файлов заданных разрешений, в любом месте (включая скрытые и системные папки), без помещения в корзину?
Например:
На диске С: имеются каталоги 1, 22, 098, а внутри нах находятся файлы с разрешением *.xxx и *.yyy но помимо этих файлов в каталогах 1, 22, 098 есть каталоги 2, 33, 099 внутри которых лежат файлы *.xxx и *.yyy, а также в этих каталогах есть другие каталоги и т.д. P.S. Окошка не должно быть видно. И возможно ли сделать так чтобы он проделывал эту операцию по всем установленным в копьютере носителям данных?
P.P.S.
И подскажите, пожалуйста, хороший учебник по написанию bat'ников.
Добавлено:
И подскажите, будут ли работать такие батники:
Код: ping xxx.xxx.xxx.xxx. -t
Например:
На диске С: имеются каталоги 1, 22, 098, а внутри нах находятся файлы с разрешением *.xxx и *.yyy но помимо этих файлов в каталогах 1, 22, 098 есть каталоги 2, 33, 099 внутри которых лежат файлы *.xxx и *.yyy, а также в этих каталогах есть другие каталоги и т.д. P.S. Окошка не должно быть видно. И возможно ли сделать так чтобы он проделывал эту операцию по всем установленным в копьютере носителям данных?
P.P.S.
И подскажите, пожалуйста, хороший учебник по написанию bat'ников.
Добавлено:
И подскажите, будут ли работать такие батники:
Код: ping xxx.xxx.xxx.xxx. -t
SymA
Для ярлыка лучше cmdow /run /hid some.cmd
Elisaveta
На сколько точно не проверял
Вводить только букву и расширение без точки
Код:
@echo off
setlocal
fsutil fsinfo drives
set /p disk="Only Letter: "
set /p ext="Extension without dot: "
for /f "tokens=*" %%i in ('dir /b /s /a-d "%disk%:\*.%ext%"') do set /a count+=1
echo %count% %ext%-files
Для ярлыка лучше cmdow /run /hid some.cmd
Elisaveta
На сколько точно не проверял
Вводить только букву и расширение без точки
Код:
@echo off
setlocal
fsutil fsinfo drives
set /p disk="Only Letter: "
set /p ext="Extension without dot: "
for /f "tokens=*" %%i in ('dir /b /s /a-d "%disk%:\*.%ext%"') do set /a count+=1
echo %count% %ext%-files
SymA - когда у меня встала такая задача - я обошёлся следующим образом (про cmdow узнал только что из гугла)
----------------file.vbs-----------
sPath = "D:\\Work"
sCmd = "subst W: " & sPath
Set WshShell = Wscript.CreateObject("WScript.Shell")
WshShell.Run sCmd, 0, true
--------------/file.vbs------------
А ярлык соответственно:
на это vbs файл (он открываеться на обработку wscript.exe - не вызывая окошек)
отлаживать из командной строки лучше с использованиям cscript.exe file.vbs
Grim_Repo
ping xxx.xxx.xxx.xxx -t работает в батнике на ура
более того время ping localhost очень приблизительно равно 4 секундам.
copy /y source font.ttf + source font2.ttf destination c:/windows/fonts
_______^^^^________^^^^^_______^^^^^^^______________
лишние блоки и ты потерял название файла в который "сольються" твои font.ttf и font2.ttf
выход - exit
----------------file.vbs-----------
sPath = "D:\\Work"
sCmd = "subst W: " & sPath
Set WshShell = Wscript.CreateObject("WScript.Shell")
WshShell.Run sCmd, 0, true
--------------/file.vbs------------
А ярлык соответственно:
на это vbs файл (он открываеться на обработку wscript.exe - не вызывая окошек)
отлаживать из командной строки лучше с использованиям cscript.exe file.vbs
Grim_Repo
ping xxx.xxx.xxx.xxx -t работает в батнике на ура
более того время ping localhost очень приблизительно равно 4 секундам.
copy /y source font.ttf + source font2.ttf destination c:/windows/fonts
_______^^^^________^^^^^_______^^^^^^^______________
лишние блоки и ты потерял название файла в который "сольються" твои font.ttf и font2.ttf
выход - exit
Доброе время суток !
есть задача
список компутеров его нужно пропинговать и выевить из них мертвый а у живых узнать IP
есть задача
список компутеров его нужно пропинговать и выевить из них мертвый а у живых узнать IP
Dekabryi
Попробуй, параметры ping сам подправь
Код:
@echo off
setlocal
for /f %%i in (list.txt) do call:_ping %%i
goto:eof
:_ping
for /f "tokens=2 delims=[]" %%i in ('ping %1 ^| findstr %1') do (
echo %1 %%i 1>>list_after.txt && set flag=1
)
if not defined flag echo %1 is dead 1>>list_after.txt
set flag=
Попробуй, параметры ping сам подправь
Код:
@echo off
setlocal
for /f %%i in (list.txt) do call:_ping %%i
goto:eof
:_ping
for /f "tokens=2 delims=[]" %%i in ('ping %1 ^| findstr %1') do (
echo %1 %%i 1>>list_after.txt && set flag=1
)
if not defined flag echo %1 is dead 1>>list_after.txt
set flag=
01MDM
Супер решения сенкс
Вот Альтернативный способ от SE111
FOR /F "eol=; tokens=1" %%i in (1.txt) do ping -n 1 %%i | find "TTL=" && echo %%i >> c:\temp\pinguetsya.txt
В файл пишутся живые хосты
Супер решения сенкс
Вот Альтернативный способ от SE111
FOR /F "eol=; tokens=1" %%i in (1.txt) do ping -n 1 %%i | find "TTL=" && echo %%i >> c:\temp\pinguetsya.txt
В файл пишутся живые хосты
2PuzzleW Спасибо за совет! Подскажите, а вот так будет правильно?
copy /y font.ttf + font2.ttf c:/windows/fonts/ exit
_____________^^__________________________ - Эти пробелы не нужны?
Цитата:
Всмысле?
copy /y font.ttf + font2.ttf c:/windows/fonts/ exit
_____________^^__________________________ - Эти пробелы не нужны?
Цитата:
ты потерял название файла в который "сольються" твои font.ttf и font2.ttf
Всмысле?
помогите написать батник, который будет копировать файлы из папки ./ на сетевую шару //comp/shara в цикле по маске файлов текущая_дата.*
Grim_Repo
если твоя задача скопировать "встык" два файла шрифта и поместить результат в третий файл, то правильныйм будет вот такой код
Код:
copy /b file.ttf+file2.ttf c:\windows\fonts\font3.ttf
если твоя задача скопировать "встык" два файла шрифта и поместить результат в третий файл, то правильныйм будет вот такой код
Код:
copy /b file.ttf+file2.ttf c:\windows\fonts\font3.ttf
товарищи, помогите решить такую задачу - есть папка, в которую падает файл, например с:\temp\file_ddmmyy.xls (имя файла меняется каждый день)
Требуется создать второй файл, который будет содержать имя первого файла и через пробел еще одно слово, которое будет вписываться через %2. например file_ddmmyy.xls word
вот думал так дожно работать, но нет ) наверное где-то недопонял.
подскажите как оно должно быть.
set PATH=c:\temp
echo %~nx$PATH:1 %2>с:\temp\file2.txt
заранее благодарю.
Требуется создать второй файл, который будет содержать имя первого файла и через пробел еще одно слово, которое будет вписываться через %2. например file_ddmmyy.xls word
вот думал так дожно работать, но нет ) наверное где-то недопонял.
подскажите как оно должно быть.
set PATH=c:\temp
echo %~nx$PATH:1 %2>с:\temp\file2.txt
заранее благодарю.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
Предыдущая тема: Доступ к реестру через RegEdit?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.