Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd) 2

Автор: VerlyOKa
Дата сообщения: 16.05.2008 10:20

Цитата:
VerlyOKa
Используй внешний цикл, который бежит по файлам. "for /f" не умеет работать с символами подстановки


А можно примерчик ))
Автор: Elroir
Дата сообщения: 16.05.2008 13:43
VerlyOKa

Цитата:
А можно примерчик


Код:
for %%N in (%tempdir%\*h.txt) do (
for /f "tokens=15,21,18 delims= " %%a in (%%N) do echo %%a,%%b,%%c>>1.txt
)
Автор: igor_andreev
Дата сообщения: 16.05.2008 15:10

Цитата:
Пользуюсь версией super Sed (sed-3.59). Ссылка
Скачал версию 3.62 Ссылка та же картина.
Кто-нибудь знает как заставить SED производить изменения непосредственно в файле?

3.62 кстати работает нормально, там это исправлено. Просто для windows версии необходимо еще и указывать расширение файла для бэкапа, -i.bak(--in-place=.bak). В линухах работает просто -i
http://osdir.com/ml/editors.sed.user/2006-07/msg00063.html

Я опцией -i не пользуюсь, и не знал про эту бодягу, юзал себе преспокойно 3.59 А версии 4.* мне активно не нравятся, не люблю консольные утилиты, за которыми надо таскать кучку длл-ок, и какая-то из 4+ версий очень вольно обходилась с концами строк в винде, меняла все crlf на lf
Автор: VerlyOKa
Дата сообщения: 16.05.2008 17:35
Elroir
Спасибо большое, еще вопросик, как можно копировать файлы с длинными именами?
Вот такой скрипт:

md mydir
For /R "C:/" %%a in (*.doc) do xcopy %%a \mydir
файлы с длинными именами копировать не хочет
Автор: Elroir
Дата сообщения: 16.05.2008 19:02
VerlyOKa

Код:
md mydir
For /R "C:\" %%a in (*.doc) do xcopy "%%fa" \mydir
Автор: Ortios
Дата сообщения: 16.05.2008 22:59
igor_andreev

Цитата:
3.62 кстати работает нормально, там это исправлено. Просто для windows версии необходимо еще и указывать расширение файла для бэкапа, -i.bak(--in-place=.bak).

Ну да, подправлено, я это заметил, только куда мне девать при обработке 1000 файлов, навязанные 1000 бэк-файлов? Ведь если не указать расширение для бэкапа, то он вообще ничего не делает.
А если идет цепочка преобразования каждого файла изменяя его до неузнаваемости, этак он мне засыпет бэками весь рабочий каталог. Ну ладно убить бэки не проблема. А если этот рабочий каталог на флэшке и приходится каждый день делать эту задачу - через пару недель и флэшка прибьется
Словом нормально работающий в SED ключ -i это вещь.
Автор: igor_andreev
Дата сообщения: 17.05.2008 13:13
Ortios

Цитата:
А если идет цепочка преобразования каждого файла изменяя его до неузнаваемости, этак он мне засыпет бэками весь рабочий каталог.

Да вроде не проблема, во первых можно несколько команд -e указывать одной строкой

Код:
sed -e "s/foo/bar/g" -e "s/abc/ABC/" -e "s/DFE/dfe/g" -e ...до посинения
Автор: Ortios
Дата сообщения: 17.05.2008 23:00
igor_andreev

Цитата:
"команда 1 | команда 2 | команда 3 | ... пока не надоест"

Мм..да, конвейер в применении к Sed я как-то выпустил из виду, уж очень заковыристые и длинные выражения получаются. Но попробовал, работает !
Автор: JI063uk
Дата сообщения: 19.05.2008 12:50
Подскажите плиз где ошибка

@echo off
for /f "tokens=*" %%i in (1.txt) do (
shutdown -m "\\%%i" -s -f -t 40 -c "текст"
)

Автор: KapralBel
Дата сообщения: 19.05.2008 14:08
JI063uk
А что не работает?
Автор: JI063uk
Дата сообщения: 19.05.2008 14:10

Цитата:
KapralBel


Да вобще сам понять не могу, просто строчкой в консоле вбиваю вот так shutdown -m \\комп -s -f -t 40 -c "текст" все без проблем, а батником не хочет

Автор: KapralBel
Дата сообщения: 19.05.2008 14:33
JI063uk
Давай содержимое файла 1.txt
Автор: JI063uk
Дата сообщения: 19.05.2008 14:41

Цитата:
KapralBel


Там просто имена компов

comp1
comp2
comp3
Автор: KapralBel
Дата сообщения: 19.05.2008 15:02
JI063uk
1. Часом имена компов не по русски?
2. Измени батничек на

Код: @echo off
for /f "tokens=*" %%i in (1.txt) do (
echo shutdown -m "\\%%i" -s -f -t 40 -c "текст" >>2.txt
)
Автор: JI063uk
Дата сообщения: 19.05.2008 15:46



Цитата:
KapralBel

батник был назвон Shutdown.bat переименовал его и все работает, а теперь обьясните чё за ....
Автор: Tipulatoid
Дата сообщения: 19.05.2008 16:25
JI063uk
Дело в том shutdown.exe - внешняя прога. Получив команду на вызов внешней проги, батник ищет ее сначала в текущей папке, затем в папках, обозначенных в переменной %path% В твоем случае батник в текущей папке находил сам себя и сам себя пытался запустить с обозначенными параметрами.
Автор: AlexPetrovich
Дата сообщения: 19.05.2008 16:27
При запуске программы без разширения - сначала ишется .bat (.cmd), потом .com, потом .exe

echo shutdown - вызывал shutdown.bat

Указывай расширения файлов и не будет таких траблов..
Автор: Elroir
Дата сообщения: 19.05.2008 17:35
AlexPetrovich

Цитата:
При запуске программы без разширения - сначала ишется .bat (.cmd), потом .com, потом .exe

Вообще-то не так. Сначала ищется com, потом exe, потом bat, cmd, vbs и так далее. Просто сначала ищется в текущей директории, а потом по директориям в переменной path.
Автор: KapralBel
Дата сообщения: 19.05.2008 22:00
Elroir
Echo %PathExt%
Автор: Elroir
Дата сообщения: 19.05.2008 23:11
KapralBel
Именно оно - я оттуда и "цитировал"
Автор: XXXXL
Дата сообщения: 20.05.2008 03:07
Здравствуйте.
Ребята,надеюсь на вашу без отказную помощь .
Нужно следушее:

есть простой бат:


Код: start 123.exe
MOVE /Y beay32.dll "%systemroot%\system32"
MOVE /Y leay32.dll "%systemroot%\system32"
Автор: KapralBel
Дата сообщения: 20.05.2008 07:12
XXXXL

Код: Start /wait 123.exe
Автор: kalkin5
Дата сообщения: 20.05.2008 08:32
есть код
Код: @ECHO OFF

CHDIR /D "%~dp0"

ECHO %PROGRAMFILES%\Adobe>"%TEMP%\PF.txt"
COPY /Y Head.txt + "%TEMP%\PF.txt" + Tail.txt "%TEMP%\Install.xml" /B
Автор: KapralBel
Дата сообщения: 20.05.2008 08:40
kalkin5
см. Пакет утилит для организации интерфейса в bat-файлах

Код: HS_Echo %PROGRAMFILES%\Adobe>"%TEMP%\PF.txt"
Автор: XXXXL
Дата сообщения: 20.05.2008 11:13
KapralBel, спасибо большое.
Автор: kalkin5
Дата сообщения: 20.05.2008 11:59
KapralBel
не понял как можно использовать этот пакет утилит

в винде есть текстовый редактор Edlin, который позволяет удалять строки, только не смог победить синтаксис команд этого редактора

нет других идей как удалить пустую строку в файле?
Автор: gryu
Дата сообщения: 20.05.2008 12:29
Коллеги.
Нужна программа позволяющая создавать на базе батника + дополнительные файлы единую програму.
Раньше пользовался программой Quick Batch File Compiler, но теперь антивирусы рубят созданные ей программы утверждая, что там "Троян Старт Пэйдж" сидит.
Даже те из них, что сделаны давно. При этом я тогда проверял и никаких "троянов" не находилось.
Автор: KapralBel
Дата сообщения: 20.05.2008 12:52
kalkin5
А мой пример не помогает?

Цитата:
HS_Echo %PROGRAMFILES%\Adobe>"%TEMP%\PF.txt"

Эта команда сбросит текст в файл, без перевода строки


gryu
А доверенная зона (По крайней мере в Касперском есть)?
Автор: kalkin5
Дата сообщения: 20.05.2008 15:27
KapralBel
мда, других корю, а сам тем же страдаю...
работает, большое спасибо, извиняюсь за невнимательность...
Автор: nowonder
Дата сообщения: 20.05.2008 18:13
приветствую!

следующая задача.
есть директория, в которой дофигищи данных. задача:
вывести имена N самых свежих файлов.

с сортировкой все понятно: dir /O-D
а вот как быть с ограничением вывода?

благодарю.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


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