Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах

Автор: Etalon
Дата сообщения: 10.02.2006 12:26
tomegadeth

На счёт проверки согласен
А вот рекурсия совсем не нужна
достаточно rd с параметром /s

Добавлено:
YFred

Код:
@Echo off
if "%~1" == "" (
echo Usage: DelFolder.cmd FolderName
pause
goto :eof
)
del /s /q "%~1\*.*"

for /D %%d in ("%~1\*") do rmdir /s/q "%%d"
Автор: NoName_GAmer
Дата сообщения: 10.02.2006 13:39
slech
Вводить...но у чтоб он не был виден при вводе..
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 13:45

Цитата:

имя скрипта delempty.cmd

Код:

@echo off
for /d %%i in (%1\*) do (
call delempty.cmd "%%i"
rd "%%i"
)


А в bat-файле так просто не получится сделать?
Автор: smf
Дата сообщения: 10.02.2006 14:04
Переименуй delempty.cmd в delempty.bat и исправь "call delempty.cmd" на "call delempty.bat".
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 14:32
При запуске выдает: 'for /d %i in ("%i"\*) do (' - синтаксическая ошибка
Автор: smf
Дата сообщения: 10.02.2006 14:35
А у тебя Windows какая?
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 14:38
98
Автор: KapralBel
Дата сообщения: 10.02.2006 14:46
Vitus_Bering
Команда for работает только на WinNT/2000/XP/2003 - так, что придется писать на VBS/JS
Либо сторонними программами
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 14:50
smf, KapralBel
Спасибо за помощь.

Автор: smf
Дата сообщения: 10.02.2006 15:38
for должен работать в Win9x, т. к. это одна из Native Windows 95 Commands .

Ты действительно так написал или это здесь опечатка:

Цитата:
for /d %i in ("%i"\*) do (

, там вместо 2-ой %i, что в скобках, должен быть %1.
Автор: KapralBel
Дата сообщения: 10.02.2006 15:59
smf
Вот возможности for от Вин98

Код:
Запуск указанной команды для каждого из файлов в наборе.

FOR %переменная IN (набор) DO команда [параметры]

%переменная Подставляемый параметр.
(набор) Набор, включающий один или более файлов.
Допускается использование подстановочных знаков.
команда Команда, выполняемая для каждого из файлов в наборе.
параметры Параметры и ключи, необходимые для выполнения команды.

При использовании команды FOR в пакетном файле вместо записи %переменная
следует использовать запись %%переменная.
Автор: smf
Дата сообщения: 10.02.2006 16:07
Я только что тоже ходил проверял на 98-ой: там нет такого ключа как /d.
Получается просто убрать его. Ведь rd всё равно не умеет херить файлы, только папки.
И надо всё написать в одну строчку, я думаю.

Надо тестить на 98-ой, а у меня она на работе (на 2-ух компах ещё осталась), а я пошёл домой. Найти бы где-нибудь помощь по коммандной строке в 9x.
Автор: KapralBel
Дата сообщения: 10.02.2006 16:09
smf
help - список команд
Команда /? - помощь по ней
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 16:36
Строка в bat-файле:
for %%i in (%1\*) do (call delempty.bat "%%i" rd "%%i")
в Win98 не удаляет пустые папки и об ошибках не пишет.
Где ошибка?
Автор: smf
Дата сообщения: 10.02.2006 17:26
KapralBel
Это я знаю. Просто у меня 98-ой нет.

Vitus_Bering

Цитата:
(call delempty.bat "%%i" rd "%%i")

Так нельзя писать: всё что после delempty.bat будет считаться параметрами, а тебе надо, чтобы call и rd вызвались по-очереди.
Попробуй так: (call delempty.bat "%%i" & rd "%%i")
Автор: Vitus_Bering
Дата сообщения: 10.02.2006 18:01
smf
Этот вариант не работает.
В XP также не работает delempty.cmd.
Автор: Verter
Дата сообщения: 10.02.2006 19:05
Задача: отключить сетевой интерфейс из командной строки. Готов выкачивать утилиты. Возможно, нужно задействовать Win Script Host.
Автор: KapralBel
Дата сообщения: 10.02.2006 19:46
Vitus_Bering
smf
Конструкции вида

Цитата:
(call delempty.bat "%%i" & rd "%%i")

Это про &

Цитата:
Do (Команда1 Команда2)

Это про группировку команд в скобках
в 98-й не работают - это вкусности ХР

Переходите по метке а там делайте что нужно

Автор: Refugee
Дата сообщения: 10.02.2006 22:10
Verter
Скачиваешь с майкрософт devcon (download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe)
и пишешь:
devcon disable "@PCI\VEN_10B7&DEV_9055&SUBSYS_905510B7&REV_30\4&3AB31F7F&0&20F0"

строку, которую надо писать после @, в XP/2003 можно посмотреть в Device Manager (вкладка Details, Device Instance ID), в Win2k надо искать в результатах devcon hwids *
Автор: Verter
Дата сообщения: 11.02.2006 00:05
Refugee
Тот же симптом. Локальная сеть исчезает (пинг мертвый)(хотя не могу найти как вырубить инет через РРРОЕ), но ярлык все равно включен и опция выключить все равно доступна. По этому включить только после перезагрузки / выходе текущего юзера из ОС.
Автор: Refugee
Дата сообщения: 11.02.2006 00:47
Verter
Так тебе какой интерфейс надо отключить? RAS-овские отключаются rasdial, demand-dial - netsh
> ярлык все равно включен
может быть, надо сначала PPOE отключить
Автор: Verter
Дата сообщения: 12.02.2006 00:10
Refugee
За rasdial спасибо. Так могу отрубить РРРОЕ из ком. строки
Но проблема осталась.
Суть: связь (локальная или RAS, неважно) и включается, и отключается, но ее ярлычок не изменяет облика и не появляется/исчезает из системного трея (даже при включеной опции "Вывести значок подключения на панель задач"). Облик меняется только при выходе и входе в систему под другим или тем же логином. А неудобство в том, что так как яплык не меняет облика (припустим сейчас интерфейс включен), то при отключении интерфейса (напр., выходе из РРРОЕ и-нета) не появляется опцыи "Подключится" (вместо нее все та же "Отключится") хотя пинг мерт, то есть интерфейс декйствительно выключен.

Добавлено:
Вообщем, решыл. Вырубываю/врубываю с консольки. Жаль, что только количество отправленых/принятых мегов не видно. Да ладно, с ними. Refugeeспасибо
Автор: hhr
Дата сообщения: 12.02.2006 04:36
господа, вот такая есть задачка.
имеются файлики "input_*" в каждом из которых прописаны пути к некоторым каталогам.

Код:
c:\папка1
Автор: Psih
Дата сообщения: 12.02.2006 17:58
Можно ли средствами bat файлов переименовать файлы и каталоги с русскими именами в текущем каталоге и подкаталогах в транслит. (расширения оставить прежними.. заменить только русский шрифт на англ., к примеру букву я=ya, букву т=t и т.д.)?
Автор: KapralBel
Дата сообщения: 13.02.2006 09:30
Psih
Можно, но легче воспользоваться сторонними утилитами
Например к ФАР Менеджеру есть несколько плагинов (Возможно есть и к ТоталКоммандеру)
Автор: jak_forest
Дата сообщения: 13.02.2006 12:20
условие: есть файл (4 кб бинарный), есть телефон (с модемом) на который надо передать этот файл (вручную с помощью HYPER TERMINAL-а: Передача->Отправить файл).
Вопрос: как это можно автоматизировать с помощью bat/cmd. Возможно использование жестко указанного имени файла, либо через параметр.
Автор: 01MDM
Дата сообщения: 13.02.2006 12:40
Подскажите пожайлуста, как в cmd.exe использовать esc-последовательности.
С command.com проблем не возникает, в cmd.exe ничего не получается. Прописал в config.nt:

device=%SystemRoot%\system32\ansi.sys

затем пробую, допустим:

prompt $e[1;40;36m $p$g

Выводятся управляющие символы и текущий каталог.
В command.com все отображается правильно.

???
Автор: vu1tur
Дата сообщения: 13.02.2006 12:50
01MDM
Смотри в шапку: использование ansi.sys

Цитата:
The Windows 2000/NT Command Interpreter, CMD.EXE, does not support ANSI.SYS. Use COMMAND.COM instead.
Автор: 01MDM
Дата сообщения: 13.02.2006 13:18

Цитата:
Смотри в шапку: использование ansi.sys


Смотрел, не заметил. Жаль, придется использовать command.com.

Все равно спасибо.
Автор: Zueuk
Дата сообщения: 13.02.2006 15:38
Как использовать пути с пробелами?
Например, C:\Program Files\.

Пробовал кавычки разные в разных комбинациях, выделял целиком строку, отдельно место с пробелом, еще до кучи вместо пробела использовал "%20" (т.е. код его). Ничего не прошло.

Или придётся использовать короткие имена, которые в Досе используются?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.