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

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

Автор: NIKZZZZ
Дата сообщения: 06.03.2007 16:05
igor_andreev

Цитата:
А что он должен использовать для вывода, какой текст?

В нем не должно быть никаких упоминаний о файле xxx.bat, вывод должен использовать, например команды Echo, или что-нибудь еще.


Автор: ViSiToR
Дата сообщения: 06.03.2007 16:11
NIKZZZZ
Я, как и igor_andreev...


Цитата:
до сих пор не понял, что ты от батника хочешь


Опиши подробно суть задачи, а то как то расплывчато... выводить текст батником который не должен содержаться в батнике... хм... парадокс программирования... спрашивается - для чего сие надо?

Добавлено:
NIKZZZZ


Цитата:
В нем не должно быть никаких упоминаний о файле xxx.bat



Код: Type %0
Автор: igor_andreev
Дата сообщения: 06.03.2007 16:18

Цитата:
В нем не должно быть никаких упоминаний о файле xxx.bat,

TYPE %0
Никаких упоминаний о xxx.bat, какой-то левый значок процента и ноль не в тему вааще.
Автор: Maza Faka
Дата сообщения: 06.03.2007 16:21
xSabir

Цитата:
Как можно в процедуре _delstr удалить строку под номером %VarName% из файла x.txt?


Стандартными командами WinXP вряд ли, можно утилитой "munge" (входит в состав Windows NT Resource Kit)
Автор: igor_andreev
Дата сообщения: 06.03.2007 16:21
ViSiToR
Я страницу не обновил, не видел, что ты уже ответил
Автор: NIKZZZZ
Дата сообщения: 06.03.2007 16:38
igor_andreev

Цитата:
Никаких упоминаний о xxx.bat

%0 - а разве это не открытое упоминание о xxx.bat? По моему , так и написано в руководстве ...
Автор: xSabir
Дата сообщения: 06.03.2007 16:54
Ребят, а может кто подскажет, как из одного .txt в другой перегнать все строки,кроме
определенной, номер которой указывается заранее?
Автор: igor_andreev
Дата сообщения: 06.03.2007 17:05
xSabir
Можно sed, быстрее и менее муторно, чем стандартными средствами строчки считать.

записать в файл new.txt все содержимое файла test.txt, кроме седьмой строчки
more test.txt | sed 7d>new.txt

Версия sed у меня старая ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/sed15x.zip
В sed от unixtools синтаксис местами другой.
Автор: VICTOR2005
Дата сообщения: 06.03.2007 17:21
Tipulatoid

Цитата:
@echo off
ren *_windows.part*.rar windows.part*.rar

Неясно!
ищо раз пример
100_0001_windo1ws.part1.rar
100_0000_windo2ws.part2.rar
100_0500_windo3ws.part3.rar
100_0056_windo4ws.part4.rar
---------------------------------
автомат на
windo1ws.part1.rar
windo2ws.part2.rar
windo3ws.part3.rar
windo4ws.part4.rar
готов.
------------------
Как?
Автор: Nagual
Дата сообщения: 06.03.2007 17:23
VICTOR2005
почему бы не использовать тотал командер?
выделяешь необходимые файлы, втыкаешь мастер переименования (Ctrl+M) и вводишь маску [N10-23], задача решается в мановение ока, при полной визуализации конечных файлов
Автор: igor_andreev
Дата сообщения: 06.03.2007 17:49
Nagual
тотал коммандер - это сторонняя утилита. Ты же сторонними не пользуешься?
VICTOR2005

Цитата:
ищо раз пример
100_0001_windo1ws.part1.rar
100_0000_windo2ws.part2.rar
100_0500_windo3ws.part3.rar
100_0056_windo4ws.part4.rar
---------------------------------
автомат на
windo1ws.part1.rar
windo2ws.part2.rar
windo3ws.part3.rar
windo4ws.part4.rar
готов.
------------------
Как?


Код:
@ECHO OFF

FOR %%A IN (*_*_windo?ws.part*.rar) DO CALL :_RENAME %%A
PAUSE & GOTO :EOF

:_RENAME
FOR /F "TOKENS=3 DELIMS=_" %%A IN ('ECHO %~1') DO ECHO REN %1 %%A
Автор: Nagual
Дата сообщения: 06.03.2007 18:05
igor_andreev
чем чем, а тоталом я пользуюсь, это не стороняя, а родная, не утилита, а программа
и, кстати тотал спокойно играет wav файлы, при том, что у меня не установлено в системе ни одного проигрывателя из перечисленных тобой и не перечисленных, ни windows media, ни Classic 6, ничего, даже звукозаписи нет...
в тотале, кстати, тоже не установлено ни одного мультимедийного плагина, однако большинство файлов можно спокойно открыть универсальным плагином ieview
почему ищу решения сценариями?
для выполнения их на машинах пользователей, у которых как раз нет тотала и сторонних утилит, ну да ладно, все это оффтоп
Автор: Elroir
Дата сообщения: 06.03.2007 18:11
VICTOR2005

Цитата:
Неясно!

Что именно неясно? Тебе было предложено четыре варианта решения. Первое (мое) ты просто проигнорировал, 2 следующих тебе неясны (ты их проверял?). Примеры у тебя меняются...
Автор: igor_andreev
Дата сообщения: 06.03.2007 18:12
Nagual

Цитата:
у меня не установлено в системе ни одного проигрывателя из перечисленных тобой и не перечисленных
А я тебе пример на vbs написал с использованием mplay32.exe, не работает разве? Я запускал его на Win2000 без всяких установленных плееров. Mplay32.exe по умолчанию должна лежать в system32 любой NT-оси кажись, даже если Windows Media Player не установлен.
Автор: Elroir
Дата сообщения: 06.03.2007 18:23
xSabir

Цитата:
Ребят, а может кто подскажет, как из одного .txt в другой перегнать все строки,кроме
определенной, номер которой указывается заранее?

Если в тексте нет спец. символов, то можно так:

Код:
@echo off
setlocal enabledelayedexpansion
set "fname=file.ext"
set "newfname=newfile.ext"
set "skip=10"
set "current=1"
del /q "%newfname%" 2>nul
for /f "tokens=*" %%a in (%fname%) do (
if not !current!==%skip% echo %%a>>"%newfname%"
set /a "current+=1"
)
Автор: Nagual
Дата сообщения: 06.03.2007 18:26
igor_andreev
дело том, у меня этого файла нет, а значит и у пользователя его тоже потенциально может не быть, стало быть вариант не универсальный, поэтому не годится, для общего развития может и пойдет, а для реального пользования я бы не стал применять, так что буду искать более универсальный вариант... спс за помощь
Автор: igor_andreev
Дата сообщения: 06.03.2007 18:48
Nagual

Цитата:
дело том, у меня этого файла нет,
Заглянул в свежеустановленную Windows 2000 без всяких обнов, из сторонних программ только WinRAR - в папке system32 лежит файл mplay32.exe. Заглянул в свежеустановленную XP, ну правда уже со всеми хотфиксами - в папке system32 тоже лежит файл mplay32.exe. Не знаю, почему у тебя его нет.
Автор: xSabir
Дата сообщения: 06.03.2007 19:16
Maza Fakaigor_andreev
спасибо за совет, но нужно средствами самого батника

Elroir

Цитата:
10 - строчка, которую надо пропустить

скажи пожалуйста, можно ли в твоем примере заменить 10 на какую нибудь переменную?
самому сейчас нет возможности проверить на практике.
Автор: Elroir
Дата сообщения: 06.03.2007 19:23
xSabir

Цитата:
скажи пожалуйста, можно ли в твоем примере заменить 10 на какую нибудь переменную?

Я не верно написал. Там и есть переменная - "skip". 10 - это номер строчки, которую нужно пропустить. Вместо числа "10", можно поставить любое другое число.
Автор: xSabir
Дата сообщения: 06.03.2007 19:44
Elroir
Я имел ввиду так:
set /p VarName=Enter number string to delete:
echo %VarName%
Т.е VarName я задаю где-то раньше а потом уже
set "skip=%VarName%"

Добавлено:
Elroir
я имелввиду например так:

set /p VarName=Enter number string to delete:
echo %VarName%

а теперь уже
set "skip=%VarName%"


Добавлено:
че то ступил, два раза написал
Автор: Elroir
Дата сообщения: 06.03.2007 20:42
xSabir

Цитата:
Т.е VarName я задаю где-то раньше а потом уже
set "skip=%VarName%"

Конечно так можно. А можно сразу присваивать значение skip-у (set /p skip= ...) или использовать переменную %VarName%, в том месте, где я использую %skip%.
Автор: KciNKh
Дата сообщения: 06.03.2007 22:39
А вот такое задание:
- нужно из батника управлять состоянием принтера (можно сразу сетевого, или хотябы локального т.к. удаленный запуск потом сделать не проблема)
Например изменить следующие состояния: приостановить печать/автономная работа (work offline)/т.д.
Как такое сделать?
что-то я не могу правильный поисковый запрос составить чтобы что-то найти такое, максимум что-то через regsvr32 printui.dll,... но как это в батнике поюзать загадка .
Автор: igor_andreev
Дата сообщения: 06.03.2007 22:51
KciNKh
Посмотри файлики *.vbs в system32. Особенно те, которые имеют "prn" в названии. Запускать их надо не двойным щелчком мыши(wscript.exe), а из комстроки cscript file.vbs
Автор: KciNKh
Дата сообщения: 06.03.2007 23:40

Цитата:
Посмотри файлики *.vbs в system32.

о что-то похожее (особенно prnqctl.vbs), только на 2k Advanced Server (по-дефолту) оно наверное не сработает, а нужно именно под сервак, но все равно сенкс завтра испытаю.

Цитата:
Запускать их надо не двойным щелчком мыши(wscript.exe), а из комстроки cscript file.vbs

ну эт понятно
Автор: igor_andreev
Дата сообщения: 06.03.2007 23:51
KciNKh

Цитата:
только на 2k Advanced Server (по-дефолту) оно наверное не сработает, а нужно именно под сервак, но все равно сенкс завтра испытаю.
А ты на 2K AS тоже покопайся в system32
Автор: euheny
Дата сообщения: 07.03.2007 03:25
igor_andreev

Цитата:
самое место ей в ресурс ките

А вот в хр-ишном не нашёл.

Автор: dedds
Дата сообщения: 07.03.2007 08:36
помогите пожалуйста.... задача: создать из батника ZIP архив в который будет входить содержимое каталога "C:\WORK\" включая подкаталоги... с помощью какой утилиты это удобнее сделать... и пример если можно.... Заранее благодарю...
Автор: winvik
Дата сообщения: 07.03.2007 11:07
Поможите с лог файлами?
Есть примитивный скрипт вида: del *.mp3
Он запускается по ночам и удаляет из расшаренной папки на сервере mp3шки и прочее барахло, которое юзерам там хранить запрещено... Скрипт отрабатывает и закрывается...
Нужно чтобы он результаты своей работы писал в текстовый файл - что удалено.

Вариант
del *.mp3 >>log.txt не срабатывает
Хотя dir >>log.txt работает
Подскажите что не так?
Автор: Simoid
Дата сообщения: 07.03.2007 11:14
Есть программа, которую нужно запустить в скрытом режиме.

Программа находится по следующему адресу:
C:\Program Files\QQQ\
Требуется запустить с параметром start

Пробовал подобное:
CreateObject("WScript.Shell").Run("C:\Program Files\QQQ\1.exe"),0,false

Но выдает ошибку, и запускается без ключа.

Ошибка следующая:

Строка 1
Символ 1
Ошибка Неудается найти указанный файл

Как мне выйти из сложившегося положения ?
Автор: igor_andreev
Дата сообщения: 07.03.2007 11:27
Simoid
Пробел в пути к файлу. Или пиши короткий путь, "C:\Progra~1\QQQ\1.exe" или удваивай кавычки в пути(итого по три штуки с каждой стороны получится), """C:\Program Files\QQQ\1.exe"""

Добавлено:
Аа, еще и с параметром запустить надо. Тогда так:
CreateObject("WScript.Shell").Run("""C:\Program Files\QQQ\1.exe""")&" start",0,false

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


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