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

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

Автор: KapralBel
Дата сообщения: 05.09.2006 08:59
Mayskii

Код: @Echo Off
PushD %*
md Exec
Move *.exe Exec\
PopD
Автор: Mayskii
Дата сообщения: 05.09.2006 09:22
KapralBel

Цитата:


Код:@Echo Off
PushD %*
md Exec
Move *.exe Exec\
PopD


Вызов
Parse.cmd D:\Папка с мусором\За январь\


Сделал всё так как ты написал: создал файл parse.cmd с указаным тобой кодом
нажал в TC на нём ctrl+enter и в ввёл C:\Trash\.
Не работает, создаёт директорию EXEC в текущем каталоге, а туда куда надо этот Exec не кидает.
Может я не так понял?
Автор: KapralBel
Дата сообщения: 05.09.2006 09:34
Mayskii
Какая ОС?
Я расчитывал что у тебя ХР
Автор: Mayskii
Дата сообщения: 05.09.2006 09:36
KapralBel

у меня как раз XP
Автор: KapralBel
Дата сообщения: 05.09.2006 09:41
Mayskii
Какая ОС?
Я расчитывал что у тебя ХР
Автор: saym101
Дата сообщения: 05.09.2006 09:45
Подскажите плис как сделать батник. желательно готовый вариант.
Нужно запустить проводник без панели инструментов вообще, в определённом каталоге. Батник для терминального клиента.
Автор: Mayskii
Дата сообщения: 05.09.2006 10:15
to KapralBel
Я забыл упомянуть, что у меня стоит NoClose replacer 1.2 от Captain Flint, может из за него неработают эти команды, хотя врят ли
Автор: KapralBel
Дата сообщения: 05.09.2006 10:31
Mayskii
1. А что это за утилита? Теоретически не должно
2. Переход в нужную папку осуществляет команда PushD - проверь в командной строке PushD C:\Documents and Settings
3. Возможно когда ты копировал батничек - после каждой строки мог вставиться пробел, т.е. PushD %*ПРОБЕЛ - вот он и скорее всего мешает
Автор: WINIpuh
Дата сообщения: 05.09.2006 11:01
saym101
Может вместо проводника подойдёт ИШАК, то тогда:

Код: "C:\Program Files\Internet Explorer\IEXPLORE.EXE" -nohome -k "X:\какойто\далёкий\каталог"
Автор: Kirillhome
Дата сообщения: 05.09.2006 11:03
Mayskii
а каталог C:\Trash существует???
Автор: Mayskii
Дата сообщения: 05.09.2006 12:17
KapralBel
В том то и дело что все пробелы удалил, я всю эту ветку прочитал и слышал про проблемы с пробелами.
Кстати существует какая то команда в cmd, которая расширяет возможности командного процессора, но я пока ещё не пробовал.Может ты знаешь?

Это утилитка для Total Commander вот описание из её хелпа:


Код: Обычно при запуске консольного или DOS-приложения в Total Commander появляется консольное окошко, в котором выполняется запущенная программа, а после завершения работы это окошко закрывается. Это очень неудобно, если требуется просмотреть текст, выданный программой. Поэтому Total Commander позволяет запускать консольные приложения без закрытия окна консоли. Для этого надо запускать программу нажатием сочетания Shift+Enter, вместо обычного Enter.
Автор: KapralBel
Дата сообщения: 05.09.2006 12:41
Mayskii

Код: @Echo On
Echo %* >>C:\Log.txt
CD >>C:\Log.txt
PushD %*
CD >>C:\Log.txt
md Exec
Move *.exe Exec\
PopD
Автор: Mayskii
Дата сообщения: 05.09.2006 12:58
Вот что пишет log.txt:

Режим вывода команд на экран (ECHO) включен.
C:\Primers
C:\Primers

Вот что пишет консоль:

C:\Primers>Echo 1>>C:\Log.txt

C:\Primers>CD 1>>C:\Log.txt

C:\Primers>PushD

C:\Primers>CD 1>>C:\Log.txt

C:\Primers>md Exec

C:\Primers>Move *.exe Exec\
C:\Primers\Biopack00_9b.EXE
C:\Primers\share_nt.exe
C:\Primers\totalcmd.exe

C:\Primers>PopD
---------
При этом batник создаёт в текущей директории (C:\primers\) паку Exec и кидает туда файлы.
А ещё я немного ступил тогда, дело в том что он кидал в папку D:\Trash\ Exec а сами *.exe туда не перемещал.
и этот батник ведёт себя также, создаёт пустую папку.
А log.txt пишет почемуто без (Режим вывода команд на экран (ECHO) включен.)?:
D:\Trash\
C:\Primers
C:\Primers

Автор: KapralBel
Дата сообщения: 05.09.2006 13:16
Mayskii
Как ты вызываешь
У меня создалось впечатление, что вызов идет просто имя батничка
т.е.
Parse.cmd
а не Parse.cmd C:\Trash\
Вызови сначала CMD.Exe а в нем выполни команду Parse.cmd C:\Trash\
Автор: Mayskii
Дата сообщения: 05.09.2006 13:24
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Mayskii>C:\Primers\parse.cmd D:\Trash\
Файл с таким именем уже существует
или не найден.

C:\Documents and Settings\Mayskii>

Вообщем у меня такое впечатление нужно Винду переустанавливать.
Автор: KapralBel
Дата сообщения: 05.09.2006 13:32
Mayskii
И что?
Опять не работает?
Приведи снова логи и вывод на экран после запуска из CMD.Exe
Часом у тебя вирь не водится - что-то похожее наблюдал (КАВ удушул на данном компе полее 3000 пакостей)
Автор: ViSiToR
Дата сообщения: 05.09.2006 14:41
Mayskii
Если тебе нужно при запуске батника, чтобы он спрашивал куда поместить всё это добро, то проще этого варианта я не знаю:


Код: rem позволяем юзеру ввести путь, который будет помещён в файл ask.txt
copy /y con ask.txt > nul

rem берём (из файла) то что ввёл юзер на экране, и помещаем это в переменную ask
for /f "delims=" %%a in (ask.txt) do set ask=%%a
Автор: Mayskii
Дата сообщения: 05.09.2006 19:03
KapralBel
Да ладно, чё то у меня наверное с виндой, переустанавливать надо.
Огромное спасибо за помощь.
ViSiToR
Классно, спасибо, немного разобрался.
Автор: AleIxI
Дата сообщения: 05.09.2006 19:18
Есть 10 одинаковых компов в рабочей группе. На всех есть один и тот же юзер с одним и тем хже паролем и админскими правами.
У всех винт побит на 3 раздела.
Нужен сценарий, запускаемый с одной из машин, который присваивает букву 3ему разделу, и другой сценарий, который ее удаляет.(монтирование отмонтирование)
Автор: Smitis
Дата сообщения: 05.09.2006 19:34

Цитата:
Цитата:видимо cmd понимает пробел как конец предыдущей и начало следующей команды?

Именно так.

Никогда такого не было. Разделитель команд - символ &

PerpleXOR


Цитата:
пытаюсь применить на нескольких компах reg - файл, используя psexec. Пишу

psexec -d \\532-15 -s cmd " /c regedit c:\1.reg"

и -нифига не применяется!
Может не так пишу ?

А если так:

Код:
psexec -d \\532-15 -s regedit /s c:\1.reg
Автор: PerpleXOR
Дата сообщения: 05.09.2006 20:26

Цитата:
А если так:

обязательно попробую (завтра), спасибо

Цитата:
P.S. И не надо задовать один и тот же вопрос в разных темах!

горю, приходится ускорять решение вопроса!
Автор: ViSiToR
Дата сообщения: 05.09.2006 22:20
Smitis

Цитата:
Никогда такого не было. Разделитель команд - символ &

Просто небыло времени вникнуть в утверждение . А вообще, имелось ввиду, что пробел рарзделитель не между командами, а между командой и параметром...

Посмотрим на такой батник:


Код: echo echo ok > test.txt

for /f "delims=" %%a in (test.txt) do %%a
pause
Автор: Mayskii
Дата сообщения: 06.09.2006 19:45
Вот, написал батник который ищет файлы с указаными
расширениями и кидает их в заданые папки, причём если для этих папок
не нашлось файлов или они пустые батник удаляет эти папки.

Конечно, всё это очень просто и это можно написать гораздо красивее,
но тем кто плохо знаком с командами пакетных файлов рекомендую поизучать.

Использовать осторожнее!


Код: @ECHO OFF
echo ::::MOVE_CAT LITE VERSION::::
echo Вы уверены что хотите переместить файлы?
pause
md Exec
md Archives
md Music
md Web_pages
md Images
md Doc's
md Project's
move *.exe Exec\
move *.rar archives\
move *.zip archives\
move *.arj archives\
move *.mp3 music\
move *.wav music\
move *.htm* web_pages\
move *.mht web_pages\
move *.bmp images\
move *.gif images\
move *.jp* images\
move *.psd images\
move *.txt doc's\
move *.doc doc's\
move *.rtf doc's\
move *.nsi project's\
move *.pdf Doc's\
IF EXIST c:EXEC\nul GOTO 1
IF NOT EXIST c:EXEC\nul GOTO DEL1
:DEL1
RD EXEC
:1
IF EXIST c:ARCHIVES\nul GOTO 2
IF NOT EXIST c:ARCHIVES\nul GOTO DEL2
:DEL2
RD ARCHIVES
:2
IF EXIST c:Music\nul GOTO 3
IF NOT EXIST C:Music\nul GOTO DEL3
:DEL3
RD Music
:3
IF EXIST c:WEB_PAGES\nul GOTO 4
IF NOT EXIST c:WEB_PAGES\nul GOTO DEL4
:DEL4
RD WEB_PAGES
:4
IF EXIST c:IMAGES\nul GOTO 5
IF NOT EXIST c:IMAGES\nul GOTO DEL5
:DEL5
RD IMAGES
:5
IF EXIST c:DOC's\nul GOTO 6
IF NOT EXIST c:DOC's\nul GOTO DEL6
:DEL6
RD DOC's
:6
IF EXIST c:Project's\nul GOTO END
IF NOT EXIST c:Project's\nul GOTO DEL7
:DEL7
RD Project's
del Подставьте_название_вашего_батника.bat
:END
Автор: Shish_kebab
Дата сообщения: 07.09.2006 00:36
Всем доброго времени суток.
Я наверное задам преметивный вопро, но всё же
Нужно из кучи файлов скопировать файл созданный сегодня.
Файл находиться в дериктории c:\Program Fails\......
Ещё как вариант файл созданный сегодня вчера и позавчера ?

Заранее спасибо.
Автор: Kirillhome
Дата сообщения: 07.09.2006 01:38
Shish_kebab
Вот здесь посмотри на пример УДАЛЕНИЯ старых файлов.
На основе этого очень просто делается то, что тебе нужно заменой этой части

Код:
set /A fl_udal=0
if !F_YEAR! LSS !T_YEAR! (set /A fl_udal=1) else (
IF !F_YEAR!==!T_YEAR! (
IF !F_MONTH! LSS !T_MONTH! (set /A fl_udal=1) else (
IF !F_MONTH!==!T_MONTH! (IF !F_DAY! LEQ !T_DAY! (set /A fl_udal=1)))))


if !fl_udal!==1 (del /q %1)
Автор: GRiMka
Дата сообщения: 07.09.2006 10:28
Прошу прощения, где то в этой ветке выдел командочку которая синхронизирует часы с сервером... час сижу перечитываю не могу найти где видел.
Автор: KapralBel
Дата сообщения: 07.09.2006 10:34
GRiMka
net time /?
Автор: surgutfred
Дата сообщения: 07.09.2006 11:53
xitsa

А что этот ssed русские буквы не понимает?
Я все пытался заменить в строках выражение О.А. на КАЦО, не хотит ни в какую.
цифры и латинские буквы без проблем.


Вообще задача такая, есть 10 текстовых файлов, где в каждой строке есть О.А.(DOS кодировка), мне нужно заменить это сочетание на другое. В каждом файле конечное сочетание разное. Вот как и чем в 10 текстах во всех строках заменить одно выражение на другое в зависимтости от имени файлов. ssed я как понимаю сделал бы это, но вот с русскими буквами облом.

Методом тыка выяснилось, что ssed не понимает DOS кодировку, вернее не ищет её, а вставляет и в DOS кодировке. В WIN кодировке русские буквы меняет, но вот О.А. не берет, - точки мешают.

Может можно задать позицию? Т.е. в строке с 11-14 символ заменить на .... Кто знает подскажите.
Автор: GRiMka
Дата сообщения: 07.09.2006 14:27
KapralBel

Точно! Спасибо!
Автор: Shish_kebab
Дата сообщения: 07.09.2006 18:40
Kirillhome
Скопировал заменил, запустил в ответ куча ошибок синтаксических и не более
можно выложить готовый батник, хоть на рапиду ???

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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