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

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

Автор: wolf0425
Дата сообщения: 17.05.2010 17:00
AnGo

Цитата:
Пробовал прописать:
start /W %PATH_TO_RAR% a -ep -ag %PATH_DEST%\log %PATH_SOURCE%\log*.txt
жалуется, что виндоуз не может найти файл "а", т.е. ключ принимает за файл.

А чему равна переменная %PATH_TO_RAR% в этом твоем батнике?
давай догадаюсь - в ней есть кавычки и start /? ты не читал? иди её просто забыл определить...

start "" /W %PATH_TO_RAR% ...

Добавлено:
Joo1z

Цитата:
У меня все нормуль: пока не заархивирует дальше не идет, что с call что без него.

аналогично. winrar 3.92
Автор: AnGo
Дата сообщения: 17.05.2010 17:52
wolf0425

Цитата:
давай догадаюсь

Не надо догадываться. Чуть ниже строка приведена, чукча должен быть не только писателем, но и немножко читателем!

Остальное поскипано.


Добавлено:
Всем принявшим участие в обсуждении - спасибо!
Проблема решена. Сам ошибся.
Автор: Mark_Titov
Дата сообщения: 17.05.2010 18:21
...Доброго времени всем.
Не знаю чего я не так сказал что с предыдущей проблемой не помогли, ну да ладно, подскажите хоть тогда -

Есть такая строка -

Код: @echo off
psexec -s \\comp_name -i cmd.exe /c start c:10.wav
Автор: BagaBaga
Дата сообщения: 17.05.2010 22:29
Как можно сделать вывод на экран '<<' и '>>'
разумеется, если делать echo << - результата не будет
Автор: 01MDM
Дата сообщения: 18.05.2010 03:47
BagaBaga

Код:
echo ^>^> ^<^<
Автор: BagaBaga
Дата сообщения: 19.05.2010 10:00
Как удалить из всех строк текстового файла лидирующие и завершающие пробелы? Т.е. чтобы получился тот же самый файл (с тем же количеством строк), но без лишних пробелов.
Автор: Free_Soft
Дата сообщения: 19.05.2010 10:40
Подскажите, как в скрипте установить свое значение ERRORLEVEL, а потом отменить это назначение?
Автор: meating
Дата сообщения: 19.05.2010 11:33
win версия ffmpeg

Код: @echo off
set NAME=film
ffmpeg -i %NAME%.avi -acodec libfaac -ab 192k -vcodec libx264 -b 800k -bt 800k -threads 0 %NAME%.mp4
Автор: wolf0425
Дата сообщения: 19.05.2010 11:39
Free_Soft
Цитата:
Подскажите, как в скрипте установить свое значение ERRORLEVEL,

Код: @echo off
call :err 235
echo %errorlevel%
cd .
echo %errorlevel%
exit

:err
exit /b %1
Автор: BagaBaga
Дата сообщения: 19.05.2010 11:51
Спасибо.
Раз пошли на использование sed, не подскажете, как с его помощью

1. удалить из файла пустые строки (т.е. строки без символов - не считая пробелов и табуляций, хотя, табуляции можно не рассматривать, если сильно усложняют код)
2. в каждой строке группы из повтояющихся (2 и более) пробелов заменять на 1 пробел
Автор: king_stiven
Дата сообщения: 19.05.2010 13:02
meating
В личке.
Автор: mugil_cephalus
Дата сообщения: 19.05.2010 15:05
Free_Soft

Цитата:
Подскажите, как в скрипте установить свое значение ERRORLEVEL, а потом отменить это назначение?

можно только на время одного сеанса работы консоли

Код: echo.%date%
echo.%errorlevel%
set "errorlevel=-692"
echo.%date%
echo.%errorlevel%
rem здесь скрипт
pause
set "errorlevel="
echo.%date%
echo.%errorlevel%
pause
Автор: Joo1z
Дата сообщения: 19.05.2010 15:11
BagaBaga
Здесь все есть.
Автор: BagaBaga
Дата сообщения: 19.05.2010 16:31
спасибо
Автор: wolf0425
Дата сообщения: 19.05.2010 17:42

Цитата:
Раз пошли на использование sed, не подскажете, как с его помощью

1. удалить из файла пустые строки (т.е. строки без символов - не считая пробелов и табуляций, хотя, табуляции можно не рассматривать, если сильно усложняют код)

удалить совсем пустые sed -r "/^$/d"
удалить не совсем пустые sed -r "/^[ \t]*$/d"


Цитата:
2. в каждой строке группы из повтояющихся (2 и более) пробелов заменять на 1 пробел
sed -r "s/ {2,}/ /g"
или "s/[ \t]{2,}/ /g" если табуляции тоже заодно все покилять
или "s/[ \t]+/ /g" если табуляции позаменять на пробел и там где одна.
обвеска <in >out как обычно
Автор: Free_Soft
Дата сообщения: 19.05.2010 22:05
mugil_cephalus
Спасибо
Автор: Fenixion
Дата сообщения: 20.05.2010 00:13
вопрос вот тут
не хотелось дублировать.
Автор: BagaBaga
Дата сообщения: 20.05.2010 00:24
1. Есть файл с 10 000 записей. Как при помощи sed (или не sed) разбить его на 10 файлов по 1000 записей?

2. Хотел в каждую строчку файла в начало каждой строки добавить "Пользователь". Нашел похожий пример (только там пробелы вставляют) по ссылке http://www.opennet.ru/base/dev/sed1line.txt.html (Вставить 5 пробелов в начале каждой строки) :
sed 's/^/ /'
Но sed выдает ошибку sed.exe: -e expression #1, char 1: unknown command: `''

Автор: wolf0425
Дата сообщения: 20.05.2010 01:19

Цитата:
1. Есть файл с 10 000 записей. Как при помощи sed (или не sed) разбить его на 10 файлов по 1000 записей?
например тупо так:

Код: sed -n -e "1,1000 w file1.txt" -e "1001,2000 w file2.txt" -e "2001,3000 w file3.txt" -e "3001,4000 w file4.txt" -e "4001,5000 w file5.txt" -e "5001,6000 w file6.txt" -e "6001,7000 w file7.txt" -e "7001,8000 w file8.txt" -e "8001,9000 w file9.txt" -e "9001,$ w file10.txt" file_in.txt
Автор: Metakz
Дата сообщения: 20.05.2010 08:53
Подскажите, как средствами командной строки удалить в txt файле каждую 8 строку, начиная с определенного места например
Автор: Joo1z
Дата сообщения: 20.05.2010 11:15
Metakz
SED тебе в помощь. Сцылка чуть выше.

Код: sed -n "/regexp/,${p;n;n;n;n;n;n;n;}" filename
Автор: mouser
Дата сообщения: 21.05.2010 14:28
а нет темы ориентированой на SH или подскажите как на линуксе запускать bat файло
Автор: BagaBaga
Дата сообщения: 21.05.2010 17:27
Как (с помоью sed?) удалить пробел между инициалами, т.е. из
Швед А. Б. получить
Швед А.Б. (т.е. без пробела между А. и Б. Инициалами считаем заглавные буквы, в количестве 1 символ плюс точка)
Автор: Fenixion
Дата сообщения: 21.05.2010 17:37
как заставить батник просканировать винт на наличие логических дисков?
Автор: Joo1z
Дата сообщения: 21.05.2010 19:04
BagaBaga
Не уверен, что SED будет работать с кириллицей. Под рукой сейчас ничего нет. Только в понедельник смогу глянуть, мож кто до тех пор отпишет.

Добавлено:
Fenixion

Код: wmic volume get "drive letter"
Автор: igor_andreev
Дата сообщения: 21.05.2010 21:31
BagaBaga

Код:
chcp 1251
sed -r -e "s/ ([А-Я]{1}\.) ([А-Я]{1}\.)/ \1\2/" old.txt>new.txt
Автор: kvazigorynich
Дата сообщения: 22.05.2010 18:45
Требуется зайти во все поддиректории в директории и переименовать внутри jpg-файлы задав в качестве имени имя директории + счетчик.
Наваял такое, но не работает

Код:
for /d %%i in (*.*) do (
cd "%%i"
set res=0
for %%j in (*.jpg) do (
mkdir "%%j" "%%i%res%".jpg
set /a res+=1
)
cd ..
)
Автор: 01MDM
Дата сообщения: 22.05.2010 19:07
kvazigorynich

Цитата:
+ счетчик.


Для конкретной поддиректории или общий?
Автор: kvazigorynich
Дата сообщения: 22.05.2010 19:24
01MDM
для каждой поддиректории счетчик должен обнуляться.
Автор: wolf0425
Дата сообщения: 22.05.2010 19:24
01MDM
Цитата:
Для конкретной поддиректории или общий?
да пофиг, отличается только местом его сброса и не работает не из-за него.

kvazigorynich

Код: @echo off
chcp 1251 >nul
for /d %%i in (*.*) do (
    pushd "%%~fi"
    set res=10000
    for %%j in (*.jpg) do (
        call ren "%%~j" "%%~i%%res:~-4%%.*"
        call echo.%%~i%%res:~-4%%%%~xj
        set /a res+=1
    )
    popd
)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


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