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

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

Автор: Accessor
Дата сообщения: 28.12.2010 13:55
VXC
например, так:
for /f %i in ('dir /b *.mp4') do fools.exe "%i"
Автор: wolf0425
Дата сообщения: 28.12.2010 14:57
Lamman у тебя как-то отсутствует понимание для чего нужен call и передаваемые в нем параметры...
переписывай всё начиная с :bla2...
Автор: VXC
Дата сообщения: 28.12.2010 17:55
Accessor, благодарю, то что нужно
Автор: king_stiven
Дата сообщения: 28.12.2010 19:46
как в SED указать замену первого знака тире во втором элементе, если число элементов неизвестно?
SGDS/DUWM-IKMJ OLM-KJN/WMSJ-MJK/...
надо
SGDS/DUWM//IKMJ OLM-KJN/WMSJ-MJK/...
Автор: wolf0425
Дата сообщения: 28.12.2010 20:38
king_stiven

Цитата:
если число элементов неизвестно?
а зачем тебе общее число элементов то?
тебе же существования второго - достаточно...
sed -r "s;^([^/]*/[^-]*)-(.*)$;\1//\2;gi"
Автор: king_stiven
Дата сообщения: 28.12.2010 20:50
wolf0425
работает, пока ещё не знал такой способ
sed -r "s;%1/%2-%3$;\1//\2;gi"
i в конце для чего? Вроде без него регистр правильно идёт

Добавлено:
а если
SGDS/DUWMIKMJ OLMKJN/WMSJ-MJK/...
то выводит
SGDS/DUWMIKMJ OLMKJN/WMSJ//MJK
что неправильно, так как мне нужно только во втором элементе смотреть

Добавлено:
sed -r "s;^([^/]*)\/([^-/]*)-([^/]*)\/(.*)$;\1\/\2\/\3\/\4;gi"
вроде решил
Автор: MrWestik
Дата сообщения: 28.12.2010 21:59
В переменной DAY числом задан день недели: 1-понедельник, 2-вторник, и т.д. Вывести на экран надпись о соответствующем дне недели.
____________________________
Хэлп! напишите пжлст прогу
Автор: 01MDM
Дата сообщения: 28.12.2010 23:09
MrWestik

Код:
@echo off
1>nul chcp 1251

set "day=1"
for /f "tokens=%day%" %%i in ("Пон Втр Срд Чтв Птн Суб Вск") do echo %%i
Автор: wolf0425
Дата сообщения: 29.12.2010 06:57

Цитата:
i в конце для чего? Вроде без него регистр правильно идёт

извини, привычка букв то в гегэкспе нету...
чего-то у тебя там избыточное с элементами.
sed -r "s;^([^/]*/[^-/]*)-(.*)$;\1//\2;g" <file.txt
или тебе надо проверять закрытие второго элемента?
Автор: king_stiven
Дата сообщения: 29.12.2010 09:20
wolf0425
Да надо, ещё слова переставлять, ещё пробелы удалять между элементами...
Нужно после каждой строки,содержащей 20, находить первую строку, содержащую 10


Код: 30
40
20
30
10
10
90
20
50
10
60
10
Автор: wolf0425
Дата сообщения: 29.12.2010 09:32

Цитата:
Как найти первую стрчку, содержащую 10 после строки ,содержащую 20 ?

чего-то ничего умного в голову не приходит, разве что тупо
sed -r -n "/20/,$ {2,/10/ {/10/ P}}" <file
Автор: king_stiven
Дата сообщения: 29.12.2010 09:46
Изменил задание.
Автор: wolf0425
Дата сообщения: 29.12.2010 10:03

Цитата:
А если известен номер строки, содержащей 20 ?

ну впиши его вместо /20/ чтоб не искать попусту
или проще -
sed -r -n "%nn%,/10/ {/10/ P}" <file
но тут 10 ищется начиная с %nn%

Добавлено:

Цитата:
Изменил задание.
Нужно после каждой строки,содержащей 20, находить первую строку, содержащую 10
ок, сейчас пороюсь.
а "после" - это насколько сильно после?
или без ограничений?

если уже откуда-то известны все номера с 20 - то вон решение выше, там первая после %nn% /10/ печатается
Автор: king_stiven
Дата сообщения: 29.12.2010 11:18
тупо использую пока,что интервал между 20 и 10 одинаковый,но примерчики запишу
Автор: praidik
Дата сообщения: 03.01.2011 10:02
Здравствуйте.
Такой вопрос...
Какой командой можно создать пользователь на компе и пароль к нему? Но главное как этот пользователь скрыть с глаз, дабы при загрузке он не отображался...
Автор: wolf0425
Дата сообщения: 03.01.2011 10:17

Цитата:
Какой командой можно создать пользователь на компе и пароль к нему?
может поможет net user /?


Цитата:
Но главное как этот пользователь скрыть с глаз, дабы при загрузке он не отображался...

Код: REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"secretadmin"=dword:00010000
Автор: praidik
Дата сообщения: 03.01.2011 11:12
wolf0425
Спасибо, всё работает)
Автор: 13091986
Дата сообщения: 03.01.2011 12:24
У меня в одной папке находится n-ое количество файлов.
Батник собирает их в один файл.

Как сделать чтобы, допустим перед началом операции в итоговый файл прибавлялось значение +1, версия файла.

Заранее благодарен.
Автор: king_stiven
Дата сообщения: 03.01.2011 12:29
13091986
подробнее, с примерами
Автор: 13091986
Дата сообщения: 03.01.2011 12:48
king_stiven

есть папка cpfunct в ней файлы 1.js, 2.js, 3.js
при запуске bat файла создается новый файл main.js который содержит в себе код всех файлов папки jss.

нужно в начале файла main.js при сборке добавлять строку: var vers=N
Где N - номер компиляции. Эта цифра должна добавляться инкрементом при каждом запуске bat файла.

Вот код текущего батника:


Код:
@echo off
REM Имя файла
SET NewFile=cpfunct.js

cd \cpfunct\

@echo.>%NewFile%
for %%i in (*.js) do COPY /B %NewFile%+%%i %NewFile%

move %NewFile% ..\%NewFile%
Автор: wolf0425
Дата сообщения: 03.01.2011 15:41

Цитата:
Эта цифра должна добавляться инкрементом при каждом запуске bat файла.
в каком месте вредлагается хранить текущее значение N между запусками батника? ещё в каком-то файле?
Автор: 01MDM
Дата сообщения: 03.01.2011 16:12
wolf0425

Цитата:
в каком месте вредлагается хранить текущее значение N между запусками батника?

Наверное в main.js.
13091986
Не проверял:

Код:
@echo off
setlocal

set /p vers=<main.js

for /f "tokens=2 delims==" %%i in ("%vers%") do set /a ver=%%i+1

1>main.tmp (

    echo var vers=%ver%
    more +1 main.js

)

del main.js

for %%i in (*.js) do copy /b main.tmp+%%i main.tmp
ren main.tmp main.js
Автор: PADlabs
Дата сообщения: 03.01.2011 23:11
ребята, помогите плз
задача: создать рег-файл для привязки создания пустого текстового файла к контекстному меню файлов

наподобие этого

Код: Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Создать описание к файлу]
@=""

[HKEY_CLASSES_ROOT\*\shell\Создать описание к файлу\command]
@="cmd.exe /c %1 "xcopy "%systemdrive%\666.txt" "%%~p1\%%~n1.txt" /Y""
Автор: Elroir
Дата сообщения: 04.01.2011 00:03
PADlabs
Создай батник createTxt.cmd со следующим содержанием:

Код:
@echo off
cd /d "%~p1"
set /p<nul>>"%~n1.txt"
start "" notepad "%~n1.txt"
Автор: PADlabs
Дата сообщения: 04.01.2011 10:32
Elroir, здорово, прекрасно работает
Автор: Appmen
Дата сообщения: 04.01.2011 17:30
Здравствуйте
Мне нужно написать бат файл, который будет читать строку из текстового файла, заносить её в переменную и создавать папку с этим названием. В текстовом файле слова разделены символами табуляции и пробелами. Я написал такой скрипт

FOR /F "eol= tokens= delims=" %%i in (Output.txt) do (md %%i)

Но этот скрипт не создаёт 1 папку на каждую строку, а столько папок, сколько у меня есть слов. Я пробовал колдовать с delims=, но безуспешно . если же написать ...(md "%%i"), то выдаёт ошибку т.к. в названии файла присутствует симовл табуляции (<Tab>). Как вариант можно заменить этот символ на пробел, но я не знаю как , а те примеры, которые встречал в интернете не помогли
Автор: king_stiven
Дата сообщения: 04.01.2011 18:01
Appmen

Код: FOR /F "tokens=1,2,3,4,5 delims= , " %%a in (Output.txt) do md "%%a %%b %%c %%d %%e"
Автор: wolf0425
Дата сообщения: 05.01.2011 00:16

Цитата:
Мне нужно написать бат файл, который будет читать строку из текстового файла, заносить её в переменную и создавать папку с этим названием. В текстовом файле слова разделены символами табуляции и пробелами.
и ты похоже хочешь чтоб эти табуляции и пробелы напрямую вошли в имя создаваемой папки?
в смысле именем является вся строка целиком, независимо от содержания?


Код: FOR /F "delims=" %%i in (Output.txt) do set "dir=%%~i" && call md "%%dir:    = %%"
Автор: Appmen
Дата сообщения: 05.01.2011 09:45
wolf0425, огромное спасибо!
Автор: zhuchella
Дата сообщения: 08.01.2011 12:16
ToALL
Подскажите, как из определённого файла *.ini стереть три последнее строчки ?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Windows 7 Starter


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