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

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

Автор: king_stiven
Дата сообщения: 19.08.2010 18:05
Как сделать, чтоб эта команда удаляла знак \ в конце каждой строки?

sed.exe -r "s/\\$//" 4.txt
удаляет только в последней строке

решил
sed.exe -r "s/\\$*//" 4.txt

нет не решил, где то ошибка
Автор: wolf0425
Дата сообщения: 19.08.2010 19:00

Цитата:
Как сделать, чтоб эта команда удаляла знак \ в конце каждой строки?
sed.exe -r "s/\\$//" 4.txt
удаляет только в последней строке
и так нормально удаляет. GNU sed version 4.2
у тебя там в файле лишних пробелов/табуляций точно нет после \?
можно ещё "s/\\$//g" попробовать
Автор: king_stiven
Дата сообщения: 19.08.2010 19:05
wolf0425
у меня глюки что ли, короче вот так работает
sed.exe -r "s/\\.$//" 4.txt
и то, если в конце файла есть пустая строка. Файл обыкновенный текстовой. Скачал 4.2 заработало.
Автор: wolf0425
Дата сообщения: 19.08.2010 19:39

Цитата:
у меня глюки что ли, короче вот так работает
sed.exe -r "s/\\.$//" 4.txt
так должно работать только если после \ идет ещё символ, например пробел (невидимый на экране).
НО вообще я с некоторых вещей прусь:

Код: @echo off
(
echo.123\
echo.345\
) > file
rem создали файл из двух строк.
type file | sed.exe -r "s;\\$;;g"
rem тут все чисто - \ пропали
(
echo.123\
echo.345\
type file
) | sed.exe -r "s;\\$;;g"
rem а тут первые 2 строки не почищены, если отправить в файл - там пробелы в конце откуда-то нарисовались.
rem echo точно без мусора, при замене пайпа на >file2 пробелов нет. барабашки?
Автор: king_stiven
Дата сообщения: 19.08.2010 20:07
Скачал 4.2 заработало корректно
sed.exe -r "s/\\$//" 4.txt
Автор: us0r
Дата сообщения: 19.08.2010 20:32
bomzzz
Ну ради интереса же ведь! Так не интересно, когда за тебя всё сделано...
Надо же познать тайны учения: "извернуться")))
А вообще мало ли... сегодня это флопики, а завтра хз для кого/чего может пригодиться...
Автор: king_stiven
Дата сообщения: 19.08.2010 20:44

Цитата:
сегодня это флопики, а завтра хз для кого/чего может пригодиться

кое где будут ипользовать... в сельских школах... с годик.
Автор: kurbat
Дата сообщения: 19.08.2010 22:05
bomzzz
это Сбербанк стоп-листы пишет на дискеты тому кого offline каждый день)))
и в одном отделение их 8 осталось.... приходится рисовать их в ручную
Автор: king_stiven
Дата сообщения: 19.08.2010 22:39
kurbat
как то я себе в консольную DVD писалку замутил всякие тексты, которые синтезированный голос "Алёна" комментировал процесс, типа:
Внимание! Вся секретная информация с вашего сд диска будет стёрта через 10,9,...1 секунду(плач). Начинается запись секретных кодов пентагона... и т д
Автор: bomzzz
Дата сообщения: 20.08.2010 02:35
us0r
мне когда комп притащили из магазина никто естественно работает ли флоппик не проверял, потребность в флоппике возникла где то через пол года когда ставили вместе 2000-ка хп. как тогда выкрутились не могу сказать и почему тогда понадобился флоппик тоже не могу сказать, кажется ставили через сеть как то хп. потом через еще примерно год флоппик понадобился когда ставили банк - тогда ключ сбросили по почте из банка. после этого у меня периодами возникал интерес почему же все таки флопик не работает. биос автоматически умеет обновляться и с флопика и сд - хотя материнка достаточно старая больше пяти лет. а образы флопиков отлично запускаются грубом и сислинуксом, есть виртуальный привод В, скорость считывания естесвенно больше ечм 60 кб в сек. так что я не вижу не единой причины когда может понадобится флоппик. даже если умрет двд привод, еще можно будет воткнуть второй винт и загрузится с него, а у меня еще запасной сд привод лежит.
если бы из банка не осталось два флоппи диска то их не было бы где купить, в наличии они есть только в 12 миллионой москве, да и то в основном потому что она транзит для более чем 130 млн человек, еще в сопредельные страны транзит идет. и не известно в рабочем ли они еще состоянии. при чтении с флоппи велико количество ошибок, там тройное считывание делают - только после трех ошибочных считываний считается ошибка. информация хранится недолго. будешь ставить биос с флоппика - это может сильно разочаровать. а сд болванка сейчас стоит полтора бакса, а раньше стоила меньше бакса- а флопик 3 бакса. болванки покупать перестали когда флешки резко подешевели. то что на флопик влазит 1.5 мб, а на болванку 700, при скорости на три порядка выше и количестве ошибок близкой к нулю - можно во внимание не принмиать.

Добавлено:
если слетит биос и сгорят все двд приводы может понадобится флопик

Добавлено:
но если сгорят двд приводы все равно за ними придется переться в магазин

Добавлено:
и это только при том, что у меня юсб сгорели.

Добавлено:
если бы он работал я бы не плакал конечно. у меня полно образов флоппи на 1.5 мб с кучей полезного

Добавлено:
wolf0425
знаешь в чем дело с FOLDER - она в юникоде строку возвращает.
Автор: BVV63
Дата сообщения: 20.08.2010 04:56
wolf0425
Ну, при помощи Вашего последнего совета я сваял этакое:

Код: ChDir .>1.Txt
For /F "Tokens=* UseBackQ" %%0 In (`Dir "E:\*.*" /A-D /B /O:N /S`) Do Call :0 "%%0"
Exit
:0
Set Count=0
Set Var=%~1
:1
Set Var=%Var:~0,-1%
Set /A Count+=1
If "%Var%" NEq "" GoTo :1
If %Count% Gtr 100 1>>1.Txt Echo %%~F0
Exit /B
Автор: bomzzz
Дата сообщения: 20.08.2010 05:00
ENHANCER.ZIP 322 КБ (330 078 байт)
все вроде подправил, теперь из содержимого архива можно сложить правильное впечатление как что работает.
множество мелких исправлений
Автор: smirnvlad
Дата сообщения: 20.08.2010 05:54
BVV63

Цитата:
в файл Echo возвращает "%~F0" вместо имён


потому что в call'е свой контекст и уже нет %%0


Код:
ChDir .>1.Txt
For /F "Tokens=* UseBackQ" %%0 In (`Dir "E:\*.*" /A-D /B /O:N /S`) Do Call :0 "%%0"
Exit
:0
Set Count=0
Set Var=%~1
:1
Set Var=%Var:~0,-1%
Set /A Count+=1
If "%Var%" NEq "" GoTo :1
If %Count% Gtr 100 1>>1.Txt Echo %~F1
Exit /B
Автор: bomzzz
Дата сообщения: 20.08.2010 06:52
добавил программу OFF, ее выгодно отличает то, что если ее просто запустить ничего не происходит

Цитата:

Параметры командной строки
OFF.EXE /N
где N - номер

0 Log Off
0 + 4 Forced Log Off
1 Shutdown
1 + 4 Forced Shutdown
2 Reboot
2 + 4 Forced Reboot
8 Power Off
8 + 4 Forced Power Off

nLogOff=0
nReboot=2
nShutdown=1
nShutdown=5
nForceLogOff=4
nForceReboot=6
nPowerDown=8
nForcePowerDown=12

примеры:
ForceRebot: OFF.EXE /6

ForceShutDown! использует другую функцию ( вместо ExitWindowsEx - NtShutdownSystem). и выключает компьютер кажется не на уровне ядра виндовс а на уровне биоса. чета типа такого еще сам не разобрался.
все это делается с тем же успехом в батниках через WMI.
Автор: BVV63
Дата сообщения: 20.08.2010 07:12
smirnvlad
Тогда Echo возвращает "%~F1" .
Автор: Free_Soft
Дата сообщения: 20.08.2010 09:08
кто подскажет, почему не отрабатывается такое выражение:

Код: start /wait "%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C\setup.exe"
Автор: bomzzz
Дата сообщения: 20.08.2010 09:36
wolf0425

я себе все мозги прокомпостировал, ниче понять немогу, кодировал перекодировал туда сюда. дело в том что функция окна выбора папки не ставит знак окончания строки в конце строки, почему не знаю, как не знаю - главное что когда я его туда поставил стало работать так же как FILE.
вот попробуй этот вариант
http://films-onep.ifolder.ru/18959934

ну хоть научился из юникода в анси перекодировать.



Добавлено:
из за того что его там не было - стандартный блокнот воспринимал строку как юникод, а расширенный блокнот открывал ее нормально. бред вообщем
Автор: noiseless
Дата сообщения: 20.08.2010 10:47
Free_Soft
А так:

Код: start /wait /D"%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C" setup.exe
Автор: Serge568
Дата сообщения: 20.08.2010 10:52
извините за настолько лёгкий вопрос, но я засторопился на нём.
Нужно создать батник выключения компа через время (даже в секундах!), заданное непосредственно при запуске этого-же батника. Это всё.
хм, забыл, и на всякий случай с быстрой отменой =)
ЗЫ: СПАСИБО =)
Автор: Free_Soft
Дата сообщения: 20.08.2010 10:53
noiseless
Спасибо, помогло)
Автор: wolf0425
Дата сообщения: 20.08.2010 11:06
bomzzz
Цитата:
вот попробуй этот вариант
оба не работают - ничего не пишут ни на экран ни при перенаправлении в файл.

Добавлено:
BVV63
Цитата:
smirnvlad
Тогда Echo возвращает "%~F1"
а ты точно не влепил %%~f1 вместо %~f1 ??
Автор: bomzzz
Дата сообщения: 20.08.2010 11:11
ну не знаю у меня работает. я делал все по наитию. какая кодировка где ни фига не понял. в 16 ричном блокноте смотриш все до байта совпадает. у тебя что то с кодировками. у меня оригинальная винда никаких довесков.

Добавлено:
могу только согласится что с этой строкой что то нето, а что - хз
Автор: wolf0425
Дата сообщения: 20.08.2010 11:12
Free_Soft ещё вариант так:
start "" /wait "%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C\setup.exe"
Автор: BVV63
Дата сообщения: 20.08.2010 11:14
wolf0425

Цитата:
а ты точно не влепил %%~f1 вместо %~f1 ??

Ага, влепил . Исправил, заработало .
Автор: wolf0425
Дата сообщения: 20.08.2010 11:16
bomzzz
Цитата:
у тебя что то с кодировками. у меня оригинальная винда никаких довесков.
с какими нафиг кодировками, когда до них дело вообще не доходит - при перенаправлении вывода в файл он даже пустой не создается.
Автор: bomzzz
Дата сообщения: 20.08.2010 11:24
ну это странно потому что пустой файл создается сразу как только батник добрался до строки. независимо от того что то выдала команда в поток или нет. может чета делаешь неправильно

Добавлено:
LyabayaProgramma.exe>FF.TXT
как только батник добереться до этой строки он запустит программу и создаст файл.

Добавлено:
даже более того если любой программы.екзе не существует он все ранво создается

Добавлено:
что за дебильная строка с FILE.EXE все нормально, строка выпечатывается в 866 кодировке и сообщает сколько в ней знаков. эту ни в какую не хочет, только если добавить в конец два знака возврат коретки и переход на новую строку. причем количество знаков показывает на два больше.

Добавлено:
в тоже время FOR видит только одну строку - вторую пустую она не видит
Автор: Serge568
Дата сообщения: 20.08.2010 11:36
Сорь за повтор, но ведь батник на 10 секунд, я прост орфографию не знаю =)

Нужно создать батник выключения компа через время (даже в секундах!), заданное непосредственно при запуске этого-же батника. Это всё.
хм, забыл, и на всякий случай с быстрой отменой =)
ЗЫ: СПАСИБО =)
Автор: us0r
Дата сообщения: 20.08.2010 11:39
kurbat
Шо такое стоп-лист?

king_stiven
Массовое копирование флешек? )))

bomzzz
Траблы с дискетами/настройками M$?

bomzzz

Цитата:
добавил программу

Юзю shutdown /f /s(/r) /t 0 и logoff... Работает... Хотя на уровне биоса (ACPI?)-это может пригодиться)

Serge568

Код: @echo off
cls
set /p timer= "Seconds:"
shutdown /f /s /t %timer%
Echo Press "A" for abort...
:terminate
set /p abort=
if /i "%abort%"=="a" shutdown /a
goto terminate
Автор: bomzzz
Дата сообщения: 20.08.2010 11:46
us0r

Цитата:
Траблы с дискетами/настройками M$?

??????????????????????? что ета значит?
Автор: us0r
Дата сообщения: 20.08.2010 11:59
bomzzz
Ну если флоп работает, значит трабла не во флопе?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

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


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