Umboking например так if exist xx\xxx\nul echo xxx - папка
» Задачи на bat-файлах 7
wolf0425
Цитата:
Спасибо! Про nul то я и забыл
Однако "например" предполагает как минимум ещё один вариант, какой?
Цитата:
например так if exist xx\xxx\nul echo xxx - папка
Спасибо! Про nul то я и забыл
Однако "например" предполагает как минимум ещё один вариант, какой?
Цитата:
Однако "например" предполагает как минимум ещё один вариант, какой?
ну хотя бы такой dir /b /ad xx\xxx 1>nul 2>nul && echo xxx - папка
подскажите, как с помощью findstr найти подряд десять минусов? findstr [-]{10} a.txt не работает
неужели только так: findstr [-][-][-][-][-][-][-][-][-][-] a.txt ?
неужели только так: findstr [-][-][-][-][-][-][-][-][-][-] a.txt ?
alexcoolmagic
а есть какой-нибудь help/manual по findstr - почитал бы, - а то в ntcmds.chm и/или findstr /? - почти нет толковых примеров?
а есть какой-нибудь help/manual по findstr - почитал бы, - а то в ntcmds.chm и/или findstr /? - почти нет толковых примеров?
Цитата:
подскажите, как с помощью findstr найти подряд десять минусов?А чем тривиальный findstr /c:"----------" a.txt не устраивает?
%0 - возвращает путь запускаемого файла и сам файл ... как чтоб вернул исключительно название запускаемого bat файла?
mouser
%~n0 или %~nx0
см. call /?
Добавлено:
wolf0425
Цитата:
особенно бы почитать примеры по
Краткая сводка по синтаксису регулярных выражений:
. Любой символ.
* Повтор: ноль или более вхождений предыдущего символа или класса
^ Позиция в строке: начало строки
$ Позиция в строке: конец строки
[класс] Класс символов: любой единичный символ из множества
[^класс] Обратный класс символов: любой единичный символ из дополнения
[x-y] Диапазон: любые символы из указанного диапазона
\x Служебный символ: символьное обозначение служебного символа x
\<xyz Позиция в слове: в начале слова
xyz\> Позиция в слове: в конце слова
%~n0 или %~nx0
см. call /?
Добавлено:
wolf0425
Цитата:
а есть какой-нибудь help/manual по findstr - почитал бы, - а то в ntcmds.chm и/или findstr /? - почти нет толковых примеров?
особенно бы почитать примеры по
Краткая сводка по синтаксису регулярных выражений:
. Любой символ.
* Повтор: ноль или более вхождений предыдущего символа или класса
^ Позиция в строке: начало строки
$ Позиция в строке: конец строки
[класс] Класс символов: любой единичный символ из множества
[^класс] Обратный класс символов: любой единичный символ из дополнения
[x-y] Диапазон: любые символы из указанного диапазона
\x Служебный символ: символьное обозначение служебного символа x
\<xyz Позиция в слове: в начале слова
xyz\> Позиция в слове: в конце слова
Цитата:
А чем тривиальный findstr /c:"----------" a.txt не устраивает?
да надо было найти или строку из минусов, или такое: --> или такое: <-> или число со знаком процента, потому пришлось использовать регуляры
ну вот и заметил, что стандартный регуляр навроде [-]{10} не работает
Добавлено:
Цитата:
особенно бы почитать примеры по
Краткая сводка по синтаксису регулярных выражений
ну так и погугли по регулярным выражениям
wolf0425
Цитата:
Класс! Никогда бы не догадался так dir использовать Спасибо!
Добавлено:
wolf0425
Цитата:
Я вот одно не пойму - а зачем xx\xxx 1>nul 2>nul? Почему не xxx 1>nul? Если бы батник запускался из какой-то папки xxxx в которой xx\xxx, тогда да, а если из xx, то не сработает, нет? И ещё - можно как-то && заменить на несколько команд через '(' ? Можно конечно и несколько команд через && прописать, но не нравятся мне длинные строки.
Цитата:
ну хотя бы такой dir /b /ad xx\xxx 1>nul 2>nul && echo xxx - папка
Класс! Никогда бы не догадался так dir использовать Спасибо!
Добавлено:
wolf0425
Цитата:
dir /b /ad xx\xxx 1>nul 2>nul && echo xxx - папка
Я вот одно не пойму - а зачем xx\xxx 1>nul 2>nul? Почему не xxx 1>nul? Если бы батник запускался из какой-то папки xxxx в которой xx\xxx, тогда да, а если из xx, то не сработает, нет? И ещё - можно как-то && заменить на несколько команд через '(' ? Можно конечно и несколько команд через && прописать, но не нравятся мне длинные строки.
Цитата:
Я вот одно не пойму - а зачем xx\xxx 1>nul 2>nul? Почему не xxx 1>nul?потому что если папки нет - ругнется в stderr "File Not Found"
Цитата:
И ещё - можно как-то && заменить на несколько команд через '('неправильный у тебя эстетизм какой-то - длинная строка, представляющая законченную функциональную связку - сильно удобнее нескольких последовательных срок (делающих то же самое). например ее быстрее закомментарить для отладки батника, в ней тяжелее потерять что-то при бэкапе куска кода...
Можно конечно и несколько команд через && прописать, но не нравятся мне длинные строки.
строки с if - ты так же маньячно разбиваешь на три для укорочения?
Но если очень хочется извращаться - на здоровье.
Код: dir /b /ad xx\xxx 1>nul 2>nul
if not errorlevel 1 (
echo xxx - папка
)
помогите разобраться с кодировкам
@echo Привет
Выдает вот это:
╥хёЄ
chcp 1251 не помогает
@echo Привет
Выдает вот это:
╥хёЄ
chcp 1251 не помогает
wolf0425
Цитата:
в смысле, в одном *.bat-файле и скрипт, и конфиг, и логи?? это, методолгически, как в object-oriented programming?
Добавлено:
kermit
в окне консоли введи chcp без параметров - какая стоит там кодировка?
Цитата:
btw, посмотрел я свой последний батник...
в смысле, в одном *.bat-файле и скрипт, и конфиг, и логи?? это, методолгически, как в object-oriented programming?
Добавлено:
kermit
в окне консоли введи chcp без параметров - какая стоит там кодировка?
mugil_cephalus
Цитата:
дефолтная, 866
Цитата:
в окне консоли введи chcp без параметров - какая стоит там кодировка?
дефолтная, 866
kermit
Цитата:
это пишешь в консоли или в bat-файле ?
Добавлено:
если в файле, - сохраняй его в dos-кодировке, напрмер, wordpad'om
Добавлено:
wolf0425
Цитата:
Цитата:
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1340#16
вот у кого жизнь - не малина
Цитата:
@echo Привет
это пишешь в консоли или в bat-файле ?
Добавлено:
если в файле, - сохраняй его в dos-кодировке, напрмер, wordpad'om
Добавлено:
wolf0425
Цитата:
btw, посмотрел я свой последний батник...
Цитата:
Большое спасибо!
просто батник на 1700 строк это слишком, вот решил сделать поменьше, убрать лишнее
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1340#16
вот у кого жизнь - не малина
mugil_cephalus
Цитата:
спасибо, помогло!
честно сказать удивлен, ведь я до этого сохранял в dos-кодировке из редактора SynPad.
сейчас открываю в синпаде оба файла (старый и пересохраненный через вордпад), показывает что у обоих кодировка MS-DOS Batch, но при выполнении синпадовский батник выводит "кракозябры"
Цитата:
если в файле, - сохраняй его в dos-кодировке, напрмер, wordpad'om
спасибо, помогло!
честно сказать удивлен, ведь я до этого сохранял в dos-кодировке из редактора SynPad.
сейчас открываю в синпаде оба файла (старый и пересохраненный через вордпад), показывает что у обоих кодировка MS-DOS Batch, но при выполнении синпадовский батник выводит "кракозябры"
kermit
Цитата:
с этим редактором не знаком, но можешь посм. здесь - http://forum.ru-board.com/forum.cgi?forum=5 - может там есть топик по synpad'u
Цитата:
честно сказать удивлен, ведь я до этого сохранял в dos-кодировке из редактора SynPad.
с этим редактором не знаком, но можешь посм. здесь - http://forum.ru-board.com/forum.cgi?forum=5 - может там есть топик по synpad'u
Ребята помогите с батничком ,
Требуется запустить на компе 2 скайпа , собственно пишу в БАТ файле такой текст
@ECHO OFF
"C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
и нормально запускаю 2 скайпа , но проблема в том что черный экран CMD окошка остается
Как правильно написать что бы после запуска Скайпа окно CMD закрывалось ?
СПАСИБО
Требуется запустить на компе 2 скайпа , собственно пишу в БАТ файле такой текст
@ECHO OFF
"C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
и нормально запускаю 2 скайпа , но проблема в том что черный экран CMD окошка остается
Как правильно написать что бы после запуска Скайпа окно CMD закрывалось ?
СПАСИБО
BlackLabel
start "C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
Вопрос всем:
как windows 7 проверить запущен ли батник с правами администратора?
В XP было просто: net user %username% | findstr "Администраторы Administrators" , но в семерке от этого мало толка - UAC всё ограничивает.
start "C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
Вопрос всем:
как windows 7 проверить запущен ли батник с правами администратора?
В XP было просто: net user %username% | findstr "Администраторы Administrators" , но в семерке от этого мало толка - UAC всё ограничивает.
CMD
Интересно то что не получилось ....
добавление Start не запустило программу , но добавление start "" вполне заработало
вот так заработало на WinXp
start "C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
На семерке никак не захотело запускаться , не знаю с чем это связано ...
А с командой start "" успешно запустилось и на семерке
Интересно то что не получилось ....
добавление Start не запустило программу , но добавление start "" вполне заработало
вот так заработало на WinXp
start "C:\Program Files (x86)"\Skype\Phone\Skype.exe /secondary /username:123456789/password:123456789
На семерке никак не захотело запускаться , не знаю с чем это связано ...
А с командой start "" успешно запустилось и на семерке
CMD BlackLabel
а чего вы хотели: у команды start первый параметр в "" - имя окна.
так что привыкайте писать start "" program - тогда замена program на "program" проходит без нежданчиков.
а чего вы хотели: у команды start первый параметр в "" - имя окна.
так что привыкайте писать start "" program - тогда замена program на "program" проходит без нежданчиков.
кхм...
Уважаемые коллеги и прочие любители и ценители сего жанра.
Подскажите как мне посредством командной строки определить нахождение папки "Рабочий стол"
Задача расширенная:
нахождение залогинившегося пользователя
нахождение всех пользователей.
Уважаемые коллеги и прочие любители и ценители сего жанра.
Подскажите как мне посредством командной строки определить нахождение папки "Рабочий стол"
Задача расширенная:
нахождение залогинившегося пользователя
нахождение всех пользователей.
Цитата:
Подскажите как мне посредством командной строки определить нахождение папки "Рабочий стол"если система русская то %USERPROFILE%\"Рабочий стол" если нерусская %USERPROFILE%\Desktop.
И поаккуратнее там с кавычками...
Цитата:
Задача расширенная:echo %USERNAME%
нахождение залогинившегося пользователя
Цитата:
нахождение всех пользователей.
тебе достаточно будет результата net users
или хочешь чего-то странного?
еще, вот тут обсуждалось как определить последний логин по следам в файлах.
http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=1200
код был по живому выдран из батника определения предпоследнего логинившегося
wolf0425
Цитата:
Если тебе еще актуально, держи:
Код: sed -r "s/<\/small>/&\n/" 1.txt|sed "/<\/DL>/s/<[^>]*>//g"|sed "$!N;s/\n/ /;s/$/<\/DL>/" >2.txt
Цитата:
надо избиратьтельно прибить все теги в неправильном месте, оставив в остальных
строки в файле примерно такие:
^(тут оставить как есть)</small>(тут прибить теги <br> и любые другие)</DL>$
Если тебе еще актуально, держи:
Код: sed -r "s/<\/small>/&\n/" 1.txt|sed "/<\/DL>/s/<[^>]*>//g"|sed "$!N;s/\n/ /;s/$/<\/DL>/" >2.txt
wolf0425
Цитата:
Странно, у меня это работает только в том случае, если батник лежит в папке в которой находится папка xx с папкой xxx внутри, если батник поместить непосредственно в папку xx, то он просто не видит папку xxx не зависимо от того - есть она или нет. И насколько я понял - это правильно. Нет? а вот этот батник:
Код: dir /b /ad xxx 1>nul && echo xxx - папка
Цитата:
потому что если папки нет - ругнется в stderr "File Not Found"
Странно, у меня это работает только в том случае, если батник лежит в папке в которой находится папка xx с папкой xxx внутри, если батник поместить непосредственно в папку xx, то он просто не видит папку xxx не зависимо от того - есть она или нет. И насколько я понял - это правильно. Нет? а вот этот батник:
Код: dir /b /ad xxx 1>nul && echo xxx - папка
Цитата:
Странно, у меня это работает только в том случае, если батник лежит в папке в которой находится папка xx с папкой xxx внутритак и задумано, строго в соответствии с заданием:
Цитата:
необходимо проверить в папке XX наличие папки XXXxx\xxx - имя относительно текущего каталога. Если тебе нужно было проверять наличие папки xxx не в папке xx, а в текущей - так и надо было писать...
Цитата:
А если мне надо отработать 8-10 команд, то строка абсолютно нечитаемая.если каждая команда использует или консольный вывод предыдущей или признак успешного завершения предыдущей - то развертывание этих 10 команд в столбик даст еще более нечитаемый столбик команд, да еще и с зависимостью его работоспособности от пробелов в концах строк.
вон выше мне три sed в строку написали, с коротенькими скриптиками.
как сам думаешь - если развернуть эту строку в три - она станет более читаемой или нет?
ну а до ограничения на длину строки надо сначала дорасти, точно знаю что строка в 260 символов проблем в ХР еще не вызывает (это одна команда - параметры длинные)
Как скопировать файлы из папки А в папку B, такие которые есть в папке А, но которых нет в папке B. То есть без перезаписи файлов которые уже есть в папке В. Метод сравнения - по имени файла (без контрольных сумм). Удаление содержимого папки В перед копированием - не предлагать. Искал, не нашел.
Verter
for %%a in ( ".\A\*.*" ) do if not exist ".\B\%%~nxa" copy "%%a" .\B\
for %%a in ( ".\A\*.*" ) do if not exist ".\B\%%~nxa" copy "%%a" .\B\
Доброго времени суток. помогите пожалуйста решить такую задачу: "Создать командный файл, который организует отображение на экране содержимого всех указанных файлов текущего каталога, делает запрос на необходимость копирования. В случае положительного ответа копирует эти файлы на дискету"
вот чего смог добиться своими усилиями
@echo off
dir
if exist %1 goto n
echo file not found %1
goto end
:n
type%1
xcopy /w A:\
end
вот чего смог добиться своими усилиями
@echo off
dir
if exist %1 goto n
echo file not found %1
goto end
:n
type%1
xcopy /w A:\
end
wolf0425
Цитата:
Цитата:
Цитата:btw, посмотрел я свой последний батник...
в смысле, в одном *.bat-файле и скрипт, и конфиг, и логи??
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
Предыдущая тема: во вкладке автозагрузка
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.