А как сделать так, чтобы из каталога удалялись все файлы, кроме одного, который содержит в названии сегодняшнюю дату???
» Задачи на bat-файлах 5
ailman85
Код:
@echo off
attrib +r *%date%*
del /q *.* 1>nul 2>&1
attrb -r *%date%*
Код:
@echo off
attrib +r *%date%*
del /q *.* 1>nul 2>&1
attrb -r *%date%*
Спасибо! Помогло
01MDM
Цитата:
Давно хотел спросить что означает (1),(2), и &1
А лучше прокоментируйте строку я только понял до 1
Цитата:
del /q *.* 1>nul 2>&1
Давно хотел спросить что означает (1),(2), и &1
А лучше прокоментируйте строку я только понял до 1
Kilich
См. Встроенный справочник по командам
См. Встроенный справочник по командам
Доброе время суток...
Может кто-нить помочь с написание батника, в чьи обязанности входит:
1 - скачивание с защищённого паролем сайта отпределённого файла с именем fed%1_%2_%2.rtf, где %1 - дата субботы, %2 - месяц, %3 - соответственно год.
2 - отправка этого файла на список адресов (примерно 70-80 штук)
Первое - понятно, с помошью wget могно осилить, загвостка лишь в определении даты субботы и расстановка именно так %1_%2_%3... А вот второй момент у меня так и не получился, не получается даже себе из консоли письмо отправить... Ответ примерно таков:
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
Sending test.txt to zergius@rkmail.ru
Subject: test_blat
Login name is zergius@rkmail.ru
The SMTP server does not require AUTH LOGIN.
Are you sure server supports AUTH?
Хотя вроде всё верно вводил при "blat -install"
Могет кто подсказать приличный материал по теме отправки писем из консоли на русском?
Может кто-нить помочь с написание батника, в чьи обязанности входит:
1 - скачивание с защищённого паролем сайта отпределённого файла с именем fed%1_%2_%2.rtf, где %1 - дата субботы, %2 - месяц, %3 - соответственно год.
2 - отправка этого файла на список адресов (примерно 70-80 штук)
Первое - понятно, с помошью wget могно осилить, загвостка лишь в определении даты субботы и расстановка именно так %1_%2_%3... А вот второй момент у меня так и не получился, не получается даже себе из консоли письмо отправить... Ответ примерно таков:
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
Sending test.txt to zergius@rkmail.ru
Subject: test_blat
Login name is zergius@rkmail.ru
The SMTP server does not require AUTH LOGIN.
Are you sure server supports AUTH?
Хотя вроде всё верно вводил при "blat -install"
Могет кто подсказать приличный материал по теме отправки писем из консоли на русском?
Помогите
локальная сеть настроена по dhcp, получает ip, шлюз и днс...
Цитата:
Как выдрать из этой строки именно часть XXX шлюза: ***.***.XXX.***
И присвоить переменной для дальнейшей работы
локальная сеть настроена по dhcp, получает ip, шлюз и днс...
Цитата:
chcp 1251 1>nulэта команда возвращает строку.
netsh interface ip show address | find /i "шлюз"
chcp 866 1>nul
Как выдрать из этой строки именно часть XXX шлюза: ***.***.XXX.***
И присвоить переменной для дальнейшей работы
leecher666
Код: @echo off
chcp 1251 1>nul
for /f "tokens=3 delims=." %%a in ('netsh interface ip show address | find /i "шлюз"') do set var=%%a
chcp 866 1>nul
echo %var%
Код: @echo off
chcp 1251 1>nul
for /f "tokens=3 delims=." %%a in ('netsh interface ip show address | find /i "шлюз"') do set var=%%a
chcp 866 1>nul
echo %var%
Svjt
Цитата:
В планировщик забей запуск батника по субботам, да и голову не ломай. %1 будет сегодняшним числом.
Цитата:
В шапке "Работа с текстом, датой, и файлами" и по всем пяти частям этого топика примеров полно.
Цитата:
smtp-сервер провайдера вбил в -install наверно, а он авторизации не требует?
Цитата:
загвостка лишь в определении даты субботы
В планировщик забей запуск батника по субботам, да и голову не ломай. %1 будет сегодняшним числом.
Цитата:
и расстановка именно так %1_%2_%3
В шапке "Работа с текстом, датой, и файлами" и по всем пяти частям этого топика примеров полно.
Цитата:
The SMTP server does not require AUTH LOGIN.
Are you sure server supports AUTH?
smtp-сервер провайдера вбил в -install наверно, а он авторизации не требует?
Вопрос к Игорю Андрееву
есть локальный весомый (~ 20 Мб) бинарный файл с определенной версией
на сервере лежит файл с более новой версией
необходимо докачать с помощью wget (curl) файл с сервера так, чтобы версия локального файла сменилась на версию файла с сервера
вся загвоздка именно в том, что версия файла не обновляется
есть локальный весомый (~ 20 Мб) бинарный файл с определенной версией
на сервере лежит файл с более новой версией
необходимо докачать с помощью wget (curl) файл с сервера так, чтобы версия локального файла сменилась на версию файла с сервера
вся загвоздка именно в том, что версия файла не обновляется
Nagual
Цитата:
да тут и кроме меня народу полно
Бинарник - только перекачивать заново.
Цитата:
Вопрос к Игорю Андрееву
да тут и кроме меня народу полно
Бинарник - только перекачивать заново.
Кто-нибудь может сказать, как сравнить в батнике два числа,одно из которых больше 32 бит, а другое может быть как больше 32 бит, так и меньше???
Здравствуйте мастера. Подскажите пожалуйста как из текстового файла удалить все знаки = (равно), попробовал этот пример:
setlocal enabledelayedexpansion
for /f "delims=" %%a in (C:\Statistic\TEMP2.TXT) do (
set string=%%a
set string=!string:== !
echo.!string!>> C:\Statistic\TEMP3.TXT)
что-то не получается, получается аж 2 равно..)))
и еще одно подскажите пожалуйста как реализовать следующее.... Имеется текстовый файл следующего содержания:
2 // числа могут быть обсолютно разными но 3 цифры это максимум
22434234234234 // по любому больше 3-х цифр.
23423423423423
24
09099999999999
104
989898989898
77787878787878
67667676767676
можно сделать так чтобы это один большой файл разбить на маленькие:
Допустим 2.тхт содержит
2
22434234234234
23423423423423
24.тхт содержит
24
09099999999999
и.т.д т.е . чтобы верхний номер был названием файла. Спасибо.
setlocal enabledelayedexpansion
for /f "delims=" %%a in (C:\Statistic\TEMP2.TXT) do (
set string=%%a
set string=!string:== !
echo.!string!>> C:\Statistic\TEMP3.TXT)
что-то не получается, получается аж 2 равно..)))
и еще одно подскажите пожалуйста как реализовать следующее.... Имеется текстовый файл следующего содержания:
2 // числа могут быть обсолютно разными но 3 цифры это максимум
22434234234234 // по любому больше 3-х цифр.
23423423423423
24
09099999999999
104
989898989898
77787878787878
67667676767676
можно сделать так чтобы это один большой файл разбить на маленькие:
Допустим 2.тхт содержит
2
22434234234234
23423423423423
24.тхт содержит
24
09099999999999
и.т.д т.е . чтобы верхний номер был названием файла. Спасибо.
MsdLamer
На второй вопрос:
Код: @echo off
setlocal enabledelayedexpansion
for /f %%a in (file.txt) do (
set number=%%a
set forth_symbol=!number:~3,1!
if not defined forth_symbol set small_number=!number!
echo !number!>>!small_number!.txt
)
На второй вопрос:
Код: @echo off
setlocal enabledelayedexpansion
for /f %%a in (file.txt) do (
set number=%%a
set forth_symbol=!number:~3,1!
if not defined forth_symbol set small_number=!number!
echo !number!>>!small_number!.txt
)
Цитата:
На первый - не знаю как без сторонних утилит
Разве что так
Код:
for /f "tokens=1-26 delims==" %%a in (TEMP2.TXT) do call :replace %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r %%s %%t %%u %%v %%w %%x %%y %%z
goto :eof
:replace
echo %*>>TEMP3.TXT
Разобрался... Спасибо Народу и Гуглу... Если кому надо выкладываю:
Код:
rem Сначала берём дату сегодня
for /f %%d in ('date /t') do set dt=%%d
echo %dt%
rem Потом меняем все "-" на "_"
for /f "delims=. tokens=1,2,3" %%i in ("%dt%") do set ndt=%%i_%%j_%%k
set DIR=папка назначения файла
echo %ndt%
own
wget --http-user=name --http-password=pwd --directory-prefix=%DIR%\ http://линк до конечного файла...
rem Проверка, скачалось ли
if exist %DIR%\*.* goto mail
goto down
:mail
rem Ну и собственно рассылка каждому подписчику в отдельности из файла adress.txt (адреса пишете в столбик по одному)
for /f %%I in (adress.txt) Do blat body.txt -to %%I -subject "тема письма" -attach %DIR%\*.* -ti 30 -try 3 -charset windows-1251
rem Удаление файла, за ненадобностью...
del %DIR%\*.*
Код:
rem Сначала берём дату сегодня
for /f %%d in ('date /t') do set dt=%%d
echo %dt%
rem Потом меняем все "-" на "_"
for /f "delims=. tokens=1,2,3" %%i in ("%dt%") do set ndt=%%i_%%j_%%k
set DIR=папка назначения файла
echo %ndt%
own
wget --http-user=name --http-password=pwd --directory-prefix=%DIR%\ http://линк до конечного файла...
rem Проверка, скачалось ли
if exist %DIR%\*.* goto mail
goto down
rem Ну и собственно рассылка каждому подписчику в отдельности из файла adress.txt (адреса пишете в столбик по одному)
for /f %%I in (adress.txt) Do blat body.txt -to %%I -subject "тема письма" -attach %DIR%\*.* -ti 30 -try 3 -charset windows-1251
rem Удаление файла, за ненадобностью...
del %DIR%\*.*
Я окончательно запуталась, поэтому приходятся просить помощи.
Задачи две:
1. Есть папка с кучей вложенных подкатологов, имена подкаталогов всегда уникальны. В подкаталогах переодически попадается файл a.txt — нужно дать ему уникальное название (включающее имя подкатолога, в котором он находится) и переместить в корень.
У меня, возможно, что-нибудь получилось бы, если бы можно было брать взятие подстрок с конца, ведь точное кол-во подстрок (если брать \ как разделитель) неизвестно! Но в документации нигде про подобное действие tokens не говорится..
Ниже вариант из разряда "фигачим":
Код:
for /f "usebackq tokens=1* delims=^" %%i in (`dir /b /s /a:d`) do ren "%%i^%%j/a.txt" "%%j.txt"
Задачи две:
1. Есть папка с кучей вложенных подкатологов, имена подкаталогов всегда уникальны. В подкаталогах переодически попадается файл a.txt — нужно дать ему уникальное название (включающее имя подкатолога, в котором он находится) и переместить в корень.
У меня, возможно, что-нибудь получилось бы, если бы можно было брать взятие подстрок с конца, ведь точное кол-во подстрок (если брать \ как разделитель) неизвестно! Но в документации нигде про подобное действие tokens не говорится..
Ниже вариант из разряда "фигачим":
Код:
for /f "usebackq tokens=1* delims=^" %%i in (`dir /b /s /a:d`) do ren "%%i^%%j/a.txt" "%%j.txt"
Sabiko
Можно так, жарко шевелить мозгами:
Код:
@echo off
for /f "tokens=*" %%i in ('dir /b /s Folder\a.txt') do call:move "%%~dpi"
goto:eof
:move
set curpath=%~1
set curpath=%curpath:\=,%
set curpath=%curpath: =_%
for %%i in (%curpath%) do set folder=%%i
set folder=%folder:_= %
move "%~1a.txt" "Folder\a_%folder%.txt"
Можно так, жарко шевелить мозгами:
Код:
@echo off
for /f "tokens=*" %%i in ('dir /b /s Folder\a.txt') do call:move "%%~dpi"
goto:eof
:move
set curpath=%~1
set curpath=%curpath:\=,%
set curpath=%curpath: =_%
for %%i in (%curpath%) do set folder=%%i
set folder=%folder:_= %
move "%~1a.txt" "Folder\a_%folder%.txt"
Sabiko
Цитата:
Код:
@echo off
pushd d:\folder
for /r /d %%a in (*) do if exist "%%a\a.txt" move "%%a\a.txt" "a_%%~nxa.txt"
Цитата:
1. Есть папка с кучей вложенных подкатологов, имена подкаталогов всегда уникальны. В подкаталогах переодически попадается файл a.txt — нужно дать ему уникальное название (включающее имя подкатолога, в котором он находится) и переместить в корень.
Код:
@echo off
pushd d:\folder
for /r /d %%a in (*) do if exist "%%a\a.txt" move "%%a\a.txt" "a_%%~nxa.txt"
Всем Доброго времени суток !!
Вот есть задача !! Самому ее реализовать не получается !
Цитата:
Может кто подскажет ?
Вот есть задача !! Самому ее реализовать не получается !
Цитата:
Существует каталог с кучей подкаталогов с файлами имена всегда разные.
Переместить все подкаталоги с файлами из указанного каталога в назначенный каталог, и в каждом из перемещенных подкаталогов создать текстовый документ (имя документа 9.txt), содержание документа - "имя подкаталога"
Может кто подскажет ?
lamener
Существует каталог с кучей подкаталогов E:\1
в назначенный каталог E:\2
Код: @echo off
cd /d "E:\1"
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
Существует каталог с кучей подкаталогов E:\1
в назначенный каталог E:\2
Код: @echo off
cd /d "E:\1"
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
Цитата:
Цитата:На первый - не знаю как без сторонних утилит
Разве что так
Код:
for /f "tokens=1-26 delims==" %%a in (TEMP2.TXT) do call :replace %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r %%s %%t %%u %%v %%w %%x %%y %%z
goto :eof
:replace
echo %*>>TEMP3.TXT
Сработает ессно, если знаков равно в каждой строке меньше 26 будет
Если текст такой
= 2
2300000086416
= 3
3348900821897
= 47
3352818716008
766124033705
= 56
3600521119563
4005808837359
то получается вот, что после обработки
2300000086416
3348900821897
47
3352818716008
766124033705
56
3600521119563
4005808837359
т.е. съедает цифры, подскажите пожалуйста как испровить Спасибо.
MsdLamer
Цитата:
Пробел вставь между %* и знаком перенаправления >>
Код:
echo %* >>TEMP3.TXT
Цитата:
т.е. съедает цифры, подскажите пожалуйста как испровить
Пробел вставь между %* и знаком перенаправления >>
Код:
echo %* >>TEMP3.TXT
Цитата:
MsdLamer
Цитата:т.е. съедает цифры, подскажите пожалуйста как испровить
Пробел вставь между %* и знаком перенаправления >>
Код:
echo %* >>TEMP3.TXT
Спасибо, но теперь когда я добавил пробел все цифрв появились, но если идет
3352818716008
766124033705
то остается только 3352818716008, почему он убирает те которые короче? Подскажите. Как исправить? Спасибо.
MsdLamer
Не могу у себя воспроизвести, по крайней мере на том куске текста, который ты привел. Все пишет.
Не могу у себя воспроизвести, по крайней мере на том куске текста, который ты привел. Все пишет.
Всем Доброго времени суток !!
Вот есть задача !! Самому ее реализовать не получается !
Цитата:
код выполнения этой задачи
Огромная благодарность king_stiven за помощь !!
Код:
@echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
)
Вот есть задача !! Самому ее реализовать не получается !
Цитата:
Существует каталог с кучей подкаталогов с файлами имена всегда разные.
Переместить все подкаталоги с файлами из указанного каталога в назначенный каталог, и в каждом из перемещенных подкаталогов создать текстовый документ (имя документа 9.txt), содержание документа - "имя подкаталога"
код выполнения этой задачи
Огромная благодарность king_stiven за помощь !!
Код:
@echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
)
Всем доброго времени суток!
Подскажите, пожалуйста, как можно в числовой переменной вырезать последние 3 цифры и загнать получившееся число в новую переменную.
Т.е., например, если было число 192859496751, то новое число получится 192859496
Помогите, плиз! Оч. нуно!
Подскажите, пожалуйста, как можно в числовой переменной вырезать последние 3 цифры и загнать получившееся число в новую переменную.
Т.е., например, если было число 192859496751, то новое число получится 192859496
Помогите, плиз! Оч. нуно!
ailman85
Предположим, что число находится в переменной number, тогда:
Код:
set "new_number=%number:~-3%"
Предположим, что число находится в переменной number, тогда:
Код:
set "new_number=%number:~-3%"
Цитата:
Elroir
Цитата:
Код:
set "new_number=%number:~-3%"
Здесь у меня получается так:
Например number=438751357389
Тогда, если
new_number=%number:~-3%,
он мне выдает 389, т.е. последние 3 цифры.
Если же поставить ~+3% то он мне показывает число 751357389, т.е. без первых трех цифр.
А как сделать так, чтобы он мне показал 438751357, т.е. это же число, но без последних 3-х цифр???
Код: set number=438751357389
set new_number=%number:~0,-3%
echo %new_number%
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
Предыдущая тема: Сброс пароля администратора
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.