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

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

Автор: Solenaja
Дата сообщения: 24.09.2008 13:40
igor_andreev
директории нет, поэтому и надо создавать - так бы Tatalcmd запросто былобы


Цитата:
Честно говоря, я например закономерность все равно не понял Куда делись 02-1,02-1-01...

как куда?!
смысл же такой же как и для 01
01 - подгруппа, входящая в корневой каталог
01-1 - подгруппа, входящая в подгруппу 01
01-1-01 - подгруппа, входящая в подгруппу 01-1
01-1-01-01 - подгруппа, входящая в подгруппу 01-1-01

Добавлено:
Nagual

Цитата:
хватит глубины вложенности 8?

в том то и дело, что не знаю, тк она не определена
что означает (1,1,9) ?
ты предлагешь 11 тыс строк руками переписывать, я же не знаю сколько групп будет в подгруппах?

чувствую нужно искать спец. софтину для этого
Автор: sarti
Дата сообщения: 24.09.2008 14:26
Такая задачка: после каждого сеанса dial-up (WS2003SP2+RRAS, модем 56k настроен на "Accept Incoming Connections") нужно рестартовать (net stop & start) службу "Routing and Remote Access" (странный глюк какой-то: служба - пашет, в логах - чисто, но на деле без рестарта может принять лишь один звонок, после дисконнекта входящие не принимает, молчит и всё).
Можно, конечно, поставить суточный рестарт по времени. Или регулярный рестарт в течение суток. Но хотелось бы по-человечески: подключился, поработал, отключился, служба сама рестартанула, спустя некоторое время опять спокойно подключился, без выезда на место.


Так вот, возможно ли как-то повесить выполнение батника с "net stop" и "net start" на окончание dial-up сеанса, или это из разряда несбыточных надежд?
Автор: kenneth
Дата сообщения: 24.09.2008 15:10
Чистка профиля пользователя при выходе (NT 5.0/5.1)
Что _не_ делает:
1) Корзину не чистит;(
2) не дезактивирует кнопку "Очистить список" для Recent (не нашел нужный ключ в реестре...);
3) Explorer все-таки помнит старые значения ключей (последние файлы и последние программы) до следующего обращения к реестру (после выхода или запуска любой программы через ["Пуск"] забывает);
4) IE, однако, "вспоминает" адреса даже после удаления папок History (опять реестр?).

Если кто знает, как улучшить, просьба посоветовать

Код: @ECHO OFF
DEL /Q "%USERPROFILE%\Cookies\*.*"
FOR /F "tokens=*" %%i IN ('DIR "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5" /AD /B') DO RMDIR /S /Q "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5\%%i"
DEL /Q /S "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.MSO\*.*"
FOR /F "tokens=*" %%i IN ('DIR "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.MSO" /AD /B') DO RMDIR /S /Q "%USERPROFILE%\Local Settings\Temporary Internet Files\Content.MSO\%%i"
FOR /F "tokens=*" %%i IN ('DIR "%USERPROFILE%\Local Settings\History\History.IE5" /AD /B') DO RMDIR /S /Q "%USERPROFILE%\Local Settings\History\History.IE5\%%i"
DEL /Q /S "%TEMP%\*.*"
FOR /F "tokens=*" %%i IN ('DIR "%TEMP%" /AD /B') DO RMDIR /S /Q "%TEMP%\%%i"
FOR /F "tokens=*" %%i IN ('DIR "%USERPROFILE%\Recent" /A-H /B') DO DEL /Q "%USERPROFILE%\Recent\%%i"
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs /F
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /F
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist /F
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist /F
Автор: Cheerful_a_bear
Дата сообщения: 24.09.2008 20:51
Elroir

@echo off
for /r "c:\temp" %%a in (*.txt) do copy /y "%%a" "d:\temp\">nul

Огромное спасибо!!! Вы в который раз помогаете...

Есть еще одна просьба, как эти файлы собрать в один txt???
Автор: Nagual
Дата сообщения: 24.09.2008 22:59
Solenaja

Цитата:
в том то и дело, что не знаю

как ты собираешься решать задачу, если нет исходных данных?
честно говоря, структура и смысл создания такого количества каталогов немного неясна
думаю, что человек может легко запутаться в 11к папках)
1,1,9 согласно for/?
начальное значение, шаг и конечное значение переменной
Автор: Solenaja
Дата сообщения: 25.09.2008 00:38
Nagual

Цитата:
как ты собираешься решать задачу, если нет исходных данных?

речь идёт об исходных данных - они есть и это 11 тыс строк номенклатурного кода: групп/подгрупп/товар
они могут меняться поэтому я и пишу что исходные данные непоределены окончательно, т.е. меняются, т.е. это не разовая процедура создания папок

Цитата:
думаю, что человек может легко запутаться в 11к папках
человек - да, скрипт - нет, тк он будет брать данные из этих папок
Автор: Elroir
Дата сообщения: 25.09.2008 01:46
Cheerful_a_bear

Цитата:
как эти файлы собрать в один txt???


Код:
set /p=<nul>onebigfile.txt
for %%a in (d:\temp\*.txt) do copy onebigfile.txt /a + "%%a" /a onebigfile.txt>nul
Автор: Solenaja
Дата сообщения: 25.09.2008 09:52
Nagual
поставлю обратную задачу
уже есть готовые папки согласно (сообщения выше) кода, т.е. 11 тыс папок, но свалены они все в одну директорию
нужно теперь их рассортировать по своим подпапкам, т.е.


Код: исходный код
...
02
02-01
02-01-01
02-01-02
02-01-02-01
02-01-02-02
...
и т.д.
Автор: ildar1
Дата сообщения: 25.09.2008 12:18
Уважаемые специалисты, вот кусок кода, возвращающий текущее время в формате ЧЧ:ММ:СС:

set TIME1=%TIME%

set TIME1=%TIME1:~0,-3%

Но если время до 10 утра, то возвращается время в формате Ч:ММ:СС, как сделать автодобавление лидирующего нолика к часам?
Автор: 01MDM
Дата сообщения: 25.09.2008 13:32
ildar1

Код:
set time1=%time: =0%
set time1=%time1:~0,-3%
Автор: Accessor
Дата сообщения: 25.09.2008 13:53
Народ, помогите, плиз, что-то я туплю. Срочно надо сделать вот такое, а оно не работает, каталоги не создаются
Код: for /L %%i in (0,1,2) do (
set var=c%%i
mkdir %var%
)
Автор: 01MDM
Дата сообщения: 25.09.2008 14:05
Accessor

Код:
for /L %%i in (0,1,2) do mkdir c%%i
Автор: ildar1
Дата сообщения: 25.09.2008 14:14
01MDM
Гран мерси! Все взетело как надо и файлы сортируются по порядку!
Автор: UncleGluk
Дата сообщения: 25.09.2008 19:34
Всем привет!
Подскажите, кто знает, как в батнике ответить утвердительно на вопрос любой консольной программы? Например, программа запрашивает " Продолжать (Y/N)? "
Хотелось бы воткнуть в поток символ - "Y", чтоб программа далее выполняла себя.
К сожаление в некоторых программах нет режима работы не в интерактиве.С
Спасибо
Автор: Smitis
Дата сообщения: 25.09.2008 22:41
UncleGluk

Цитата:
Подскажите, кто знает, как в батнике ответить утвердительно на вопрос любой консольной программы? Например, программа запрашивает " Продолжать (Y/N)? "
Хотелось бы воткнуть в поток символ - "Y", чтоб программа далее выполняла себя.

Иногда помогает так:
echo y| программа
Автор: avkorets
Дата сообщения: 26.09.2008 10:35
чот тупняк..
Как записать первые N строк из файла а в файл b?
Автор: Elroir
Дата сообщения: 26.09.2008 14:52
avkorets

Код:
@echo off
setlocal enabledelayedexpansion
set "N=17"
set "count=0"
for /f "tokens=*" %%a in (first_file.txt) do (
if !count! GEQ !N! goto :EOF
echo %%a>>second_file.txt
set /a "count+=1"
)
Автор: Lexys
Дата сообщения: 26.09.2008 15:22
Такой вопрос. Как батником можно удалить все настройки Outlook? Учетки и запись о месте хранения файла данных? Или подставить стандартное место хранения файлов?
Автор: avkorets
Дата сообщения: 26.09.2008 17:31

Цитата:
Elroir

Спасиб...правда я нашел другую версию после получасового поиска =)


Код:
set count=0
for /f "skip=2 tokens=*" %%a in (%file_name%) do (
set /a count=!count!+1
if /i !count! leq N echo %%a>>new.txt
)
Автор: king_stiven
Дата сообщения: 26.09.2008 18:28

Цитата:
одно и тожа впринципе.

отнюдь, твой вариант в случае большого файла долго будет работать.
Автор: king_stiven
Дата сообщения: 27.09.2008 08:25
Solenaja

Цитата:
уже есть готовые папки согласно (сообщения выше) кода, т.е. 11 тыс папок, но свалены они все в одну директорию
нужно теперь их рассортировать по своим подпапкам


Код: @echo off
for /f "tokens=*" %%c in ('dir /b /a:d /o:-n') do (
set subfolder=%%c
set count=1
set count1=2
call :begin
)
goto :eof
:begin
set folder=
:begin1
for /f "tokens=%count%,%count1%* delims=-" %%a in ("%subfolder%") do (
if defined folder set folder=%folder%-%%a
if not defined folder set folder=%%a
set /a count+=1
set /a count1+=1
if "%%c"=="" (
if "%%b"=="" (
goto end
) else (
goto Moving
)
)
goto begin1
)
:Moving
move "%subfolder%" "%folder%"
:end
Автор: cane4ek
Дата сообщения: 27.09.2008 14:52
есть LAN сеть и "Подключение по локальной сети", когда начинает тормазить, я нажимаю "Исправить" в меню сет.подключения или свойствах. Можно как-нибудь батником выполнить ето действие ?
Автор: braunberg
Дата сообщения: 27.09.2008 23:18
Подскажите пожалуйста, можно ли используя gsar.exe пакетно в ряде текстовых файлов заменить одно слово на другое, не прописывая в батнике имена всех файлов (используя что-то типа *.txt)?
Автор: Magniton
Дата сообщения: 27.09.2008 23:52
Подскажите, как поставить\снять атрибут, например, "скрытый" для папки? С файлами то всё понятно...
Автор: Nagual
Дата сообщения: 27.09.2008 23:59
Magniton
attrib +r "путь к папке"
(без концевого слеша)

braunberg
можно)
Автор: braunberg
Дата сообщения: 28.09.2008 00:19
Nagual, спасибо за подтверждение догадки) - как сделать?
Автор: Magniton
Дата сообщения: 28.09.2008 01:34
Nagual, спасибо.


Добавлено:
Есть .bat-файл для поиска файлов c заданным расширением (например .exe) в папке и подпапках с записью результата поиска в файл Rezultat.txt (на основе Ссылка)

Код:
@echo off
echo Please wait...
mode con codepage select=1251 > nul
set ind=0
:next
set /a ind+=1
set tmp=
for /f "delims=\ tokens=%ind%" %%a in ("%~dp0") do set tmp=%%a
if not "%tmp%"=="" goto next
set /a ind-=1
if exist Rezultat.txt del Rezultat.txt
for /f "delims=\ tokens=%ind%*" %%a in ('dir *.exe /b /s') do echo %%b >> Rezultat.txt
if exist Rezultat.txt start Rezultat.txt
Автор: 01MDM
Дата сообщения: 28.09.2008 04:53
Magniton


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

:: если нужны полные пути
dir /b /s /a %* 1>Result.txt

:: если только названия файлов
cd.>Result.txt
for /f "tokens=*" %%i in ('dir /b /s /a %*') do echo %%~nxi 1>>Result.txt
Автор: Magniton
Дата сообщения: 28.09.2008 10:55
01MDM
Что-то эта строка у меня не работает

Код: C:\> list *.txt *.exe *.jpg *.lnk
Автор: 01MDM
Дата сообщения: 28.09.2008 12:02
Magniton

Цитата:
А ты можешь привести готовый батник?


Эта строка - пример как вызывать батник, а сам батник выше. Оставь в нем что нужно. И назови его list.cmd, или как-нибудь на свое усмотрение.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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