Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd) 2

Автор: 01MDM
Дата сообщения: 15.09.2008 04:10
XXXXL

Цитата:
Его нужно поправить, надо что бы %changeTo% брался из стороннего файла

Если в 1.txt только одна строчка со значением переменной. Или должны быть дополнительные условия.

Код:
@echo off
setlocal

set "toChange=12345"
set /p changeTo=<1.txt

gsar -s%toChange% -r%changeTo% -o test.txt
Автор: XXXXL
Дата сообщения: 15.09.2008 16:28
01MDM, Спасибо, спасибо и еще раз спасибо!
Автор: lid111
Дата сообщения: 15.09.2008 21:29
01MDM, да, во всех подпапках, оставить пустыми только внешние папки (в моем примере - C, D, E, F)
Автор: 28Diman89
Дата сообщения: 15.09.2008 23:37
всем привет, снова нужна помощь
задача следующая: в некоторой папке есть множество разноименных архивов формата zip. Файлы в архивах разные, но могут и попасться одинаковые. Можно ли как нибудь распаковать все архивы с перезаписью одноименных файлов?
просьба выложить код полностью т.к. в командной строке сам оч мало понимаю, а лучше с подроюностями, где что и для чего...
выручайте
Автор: 01MDM
Дата сообщения: 16.09.2008 11:30
lid111

Цитата:
да, во всех подпапках, оставить пустыми только внешние папки (в моем примере - C, D, E, F)



Код:
@echo off
pushd "a"
for %%i in (c d e f) do (
    for /r /d %%j in (*) do (
        if /i "%%~nxj"=="%%i" (
         pushd "%%j"
         rd /s /q "%%j" 2>nul
         popd
)
    )
)
popd
Автор: Phanthom
Дата сообщения: 16.09.2008 12:49
Не знаю как найти. Вопрос не очень сложный просьба подсказать синтаксис повтора команд в бате.
Например надо чтобы выводилось в лог несколько сообщений.
echo 1 >> file.log
echo 2 >> file.log
echo 3 >> file.log
Как в самом бате не писать постоянно echo а заменить его. Вроде заменяется точкой.
Т.е. выглядит как то так:
echo. 1 >> file.log
. 2>> file.log
. 3>> file.log
Подскажите как правильно?
Автор: KapralBel
Дата сообщения: 16.09.2008 12:52
Phanthom
Нет команды повтора сообщений
Надо писать Echo каждый раз
Автор: igor_andreev
Дата сообщения: 16.09.2008 13:43
Phanthom
>>file.log разве что можно не писать каждый раз, если сократить хочешь

Код:
(
echo 1
echo 2
echo 3
)>>file.log
Автор: azamapendrus
Дата сообщения: 16.09.2008 18:57
Нужно, чтобы батник удалял на всех дисках файлы с разными расширениями, которые я прописываю в отдельном текстовом файле.
Например я прописал в текстовом файле:
*bin
*gif
*jpg
и.т.д, и батник (который находится рядом) их удаляет.
Вот начало, а что и где добавить?
for %%a in (q w e r t y u i o p s d f g h j k l z x c v n m) do if exist %%a: del/q %%a .............
=============================================================================

Добавлено:
Мне помог01MDM (ещёраз спасибо), теперь мне понадобилось изменять слово после знака вопроса. Понятно, что можно в самом батнике прописать новое слово, но мне нужно, что бы был отдельный текстовый файл , в котором бы я прописывал новое слово, и батник ссылаясь на него изменял текст.

@echo off
setlocal
chcp 1251 1>nul
for /f "tokens=*" %%i in ('dir /b /s "test\*.txt"') do call:parse "%%i"
goto:eof
:parse
for /f "tokens=*" %%i in ('type %1') do call:paste "%%i"
for /f "tokens=2* delims==" %%i in ('set string_') do (
echo %%i %%j 1>>"%~1.tmp"
)
move /y "%~1.tmp" %1
set cnt=
set string=
goto:eof
:paste
set /a cnt+=1
set cnt=000%cnt%
set cnt=%cnt:~-4%
set "string=%~1"
set "string=%string:?=? Ответ:%"
set "string_%cnt%=%string%"

и в отдельном текстовом файле например пишу в первой строке: ? Вопрос
и батник бы заменял "Ответ" на "Вопрос"
Автор: Elroir
Дата сообщения: 16.09.2008 19:21
azamapendrus

Цитата:
Нужно, чтобы батник удалял на всех дисках файлы с разными расширениями, которые я прописываю в отдельном текстовом файле


Код:
@echo off
setlocal enabledelayedexpansion
set "exts="
for /f "tokens=*" %%a in (list.txt) do set "exts=%%a !exts!"
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
pushd %%a:\ 2>nul
if not !errorlevel!==1 (del /q /s !exts!)
popd
)
Автор: azamapendrus
Дата сообщения: 17.09.2008 14:04
Elroir
спасиибо!
Автор: vitrzn
Дата сообщения: 17.09.2008 15:38
А тогда такой вопрос !
А можно написать такой батник, чтобы копировал все файлы по маске (маска будет лежать на диске C:\temp\1.txt) их всех подпапок в папку C:\temp1\ ?.
Сам батник и папка откуда будет копировать файлы на др. носителе (флешке)
Автор: Mr_Hat
Дата сообщения: 17.09.2008 17:18
lid111


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


Маркером языка OS может случить вывод команды "systeminfo" - "Язык системы: ru;Русский"
Ну а далее что то вроде....

systeminfo > %Temp%\OSlang.txt
find /i "ru" %Temp%\OSlang.txt && goto ru
find /i "en" %Temp%\OSlang.txt && goto en
ну и далее создание папок с нужными именами и нужном языке..



Цитата:
батник, изменяющий в Windows местоположение папок "Мои документы" для всех пользователей компа, с переносом, конечно же, содержимого папок?


Да возможно, данный код изменяет месторасположение папок
Рабочий стол
Мои документы
Мои рисунки
Избранное
Настроено было по себя, путь получается такой D:\Documents and Settings\.....
без имени пользователя... (как пример) для залогинившегося пользователя....

Registry Editor Version 5.00>%Temp%\folderMove.reg
@echo. >>%Temp%\folderMove.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]>>%Temp%\folderMove.reg
@echo "Personal"=hex(2):44,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,\>>%Temp%\folderMove.reg
@echo 74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6e,\>>%Temp%\folderMove.reg
@echo 00,67,00,73,00,5c,00,1c,04,3e,04,38,04,20,00,34,04,3e,04,3a,04,43,04,3c,04,\>>%Temp%\folderMove.reg
@echo 35,04,3d,04,42,04,4b,04,00,00>>%Temp%\folderMove.reg
@echo "Desktop"=hex(2):44,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,\>>%Temp%\folderMove.reg
@echo 74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6e,\>>%Temp%\folderMove.reg
@echo 00,67,00,73,00,5c,00,20,04,30,04,31,04,3e,04,47,04,38,04,39,04,20,00,41,04,\>>%Temp%\folderMove.reg
@echo 42,04,3e,04,3b,04,00,00>>%Temp%\folderMove.reg
@echo "Favorites"=hex(2):44,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,\>>%Temp%\folderMove.reg
@echo 74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6e,\>>%Temp%\folderMove.reg
@echo 00,67,00,73,00,5c,00,18,04,37,04,31,04,40,04,30,04,3d,04,3d,04,3e,04,35,04,\>>%Temp%\folderMove.reg
@echo 00,00>>%Temp%\folderMove.reg
@echo "My Pictures"=hex(2):44,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,\>>%Temp%\folderMove.reg
@echo 00,74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,\>>%Temp%\folderMove.reg
@echo 6e,00,67,00,73,00,5c,00,1c,04,3e,04,38,04,20,00,34,04,3e,04,3a,04,43,04,3c,\>>%Temp%\folderMove.reg
@echo 04,35,04,3d,04,42,04,4b,04,5c,00,1c,04,3e,04,38,04,20,00,40,04,38,04,41,04,\>>%Temp%\folderMove.reg
@echo 43,04,3d,04,3a,04,38,04,00,00>>%Temp%\folderMove.reg
Автор: vitrzn
Дата сообщения: 17.09.2008 17:46
И ещё!
можно зациклить эту операцию, чтобы она выполнялась до тех пор , пока я сам не закрою окошко с батником?

for /f "tokens=*" %%i in ('dir /b /s *.jpg') do move "%%i"
del *.jpg


Автор: KapralBel
Дата сообщения: 17.09.2008 20:10
:loop
for /f "tokens=*" %%i in ('dir /b /s *.jpg') do move "%%i"
del *.jpg
goto :loop
Автор: vitrzn
Дата сообщения: 17.09.2008 21:20
KapralBel

Огромное СПАСИБО!
Всё работает, даже лучше чем надо !
Автор: XXXXL
Дата сообщения: 18.09.2008 20:03
Здраствуйте

Недавно просил помочь с бантиком:

Код: С текстового документа "1.txt" нужно скопировать всё, что находится между d& и &= в "2.txt"
Автор: Flashkens
Дата сообщения: 19.09.2008 13:20
Привет всем!
Помогите создать батник который будет заменять найденую строку в файле на свою
Автор: KapralBel
Дата сообщения: 19.09.2008 14:34
Flashkens
В шапке
Набор GNU утилит для win32
утилита gsar
Автор: labart
Дата сообщения: 19.09.2008 16:19
Никто не подскажет возможно ли (если да то как) в bat или cmd прописать настройки LAN и прокси для эксплорера?
Автор: KapralBel
Дата сообщения: 19.09.2008 17:34
labart
Это все хранится в реестре
См REG /?
Автор: Elroir
Дата сообщения: 19.09.2008 17:40
labart
Можно - редактированьем реестра.
В топике Реестр Windows 2000 / Windows XP, я выкладывал (давно) .reg файл с подобными настройками.

Добавлено:
Sorry, оказывается это было в другом топике - http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=20#14
Автор: flowersmax
Дата сообщения: 19.09.2008 22:36
прошу прощения други. есть проблема. выручайте.
итак. проведен инет.
но переодически падает. приходится в сетевых подключениях или выключать и включать сетевуху или нажимать исправить. сильно напрягает. и проблем с этим много.
нужно. запустить ping и если пакеты не проходят и превыше н интервал ожидания то ребутнуть сетевуху. с последним все просто
C:\345345\i386>devcon hwids =net
devcon disable *SUBSYS_811A1043&REV_14*
devcon enable *SUBSYS_811A1043&REV_14*

а вот как замутить если нет пинга ?
или возможно может есть более простое решение?
Автор: KapralBel
Дата сообщения: 19.09.2008 23:18
flowersmax
А интернет разрывается или говорит что соединение есть, но только нет пинга?
Автор: MIHMIH007
Дата сообщения: 20.09.2008 10:31
Народ помогите плииз... нужен батник чтобы переделать текстовой файл из вида:
accessing-dwg-f-1.html
accessing_objec-1.html
automatic_loadi-1.html
board-1.cgi.htm
board-2.cgi.htm
board-3.cgi.htm

В такой вот вид:
"accessing-dwg-f-1.html" "accessing_objec-1.html" "automatic_loadi-1.html" "board-1.cgi.htm" "board-2.cgi.htm" "board-3.cgi.htm"

Добавлено:
Народ помогите плииз... нужен батник чтобы переделать текстовой файл из вида:
accessing-dwg-f-1.html
accessing_objec-1.html
automatic_loadi-1.html
board-1.cgi.htm
board-2.cgi.htm
board-3.cgi.htm

В такой вот вид:
"accessing-dwg-f-1.html" "accessing_objec-1.html" "automatic_loadi-1.html" "board-1.cgi.htm" "board-2.cgi.htm" "board-3.cgi.htm"

Добавлено:
Народ помогите плииз... нужен батник чтобы переделать текстовой файл из вида:
accessing-dwg-f-1.html
accessing_objec-1.html
automatic_loadi-1.html
board-1.cgi.htm
board-2.cgi.htm
board-3.cgi.htm

В такой вот вид:
"accessing-dwg-f-1.html" "accessing_objec-1.html" "automatic_loadi-1.html" "board-1.cgi.htm" "board-2.cgi.htm" "board-3.cgi.htm"

Добавлено:
accessing-dwg-f-1.html
accessing_objec-1.html
automatic_loadi-1.html


"accessing-dwg-f-1.html" "accessing_objec-1.html" "automatic_loadi-1.html"

Добавлено:
1

Добавлено:
нельзя ничего написать почему?
Автор: flowersmax
Дата сообщения: 20.09.2008 15:24
KapralBel
разрывается на секунду. и сам не поднимается.
Автор: Elroir
Дата сообщения: 20.09.2008 16:05
MIHMIH007

Код:
@echo off
for /f "tokens=*" %%a in (1.txt) do set /p=""%%a" "<nul>>"2.txt"
Автор: flowersmax
Дата сообщения: 20.09.2008 16:07
http://forum.ixbt.com/topic.cgi?id=4:96021
@ECHO OFF
:start
ping -n 1 mail.ru>nul
goto answer%ERRORLEVEL%
:answer0
goto exit
:answer1
netsh interface set interface "название сетевого соединения, например vpn-provider" disable
netsh interface set interface "название сетевого соединения, например vpn-provider" enable
:exit
exit

вот нашел вариант. но почему ping -n?
и так же переделал под себя

@ECHO OFF
:start
ping -t 1 mail.ru>nul
goto answer%ERRORLEVEL%
:answer1
devcon hwids =net
devcon disable *SUBSYS_811A1043&REV_14*
devcon enable *SUBSYS_811A1043&REV_14*
:exit
exit


но почему от там нету пинга. и батник просто выкл и включает сетевуху. как переделать под постоянный пинг и что бы этот батник был запущен всегда?

Добавлено:
ВО!
http://www.softboard.ru/index.php?showtopic=35688

ping 192.168.1.193 | findstr /i "TTL"
if %errorlevel% ==1 goto no
if %errorlevel% ==0 goto yes

:no
echo "Yzel ne dostupen"
c:\devcon.exe enable "@{1A3E09BE-1E45-494B-9174-D7385B45BBF5}\NVNET_DEV0057\4&1F09082D&0&01"
exit

:yes
echo "Yzel dostupen"
exit


переделал под себя.
ping ya.ru -t | findstr /i "TTL"
if %errorlevel% ==1 goto no

:no
echo "ERROR"
devcon disable *SUBSYS_811A1043&REV_14*
devcon enable *SUBSYS_811A1043&REV_14*


но работает только после запуска. т.е. когда есть инет - просто пингует. инет рвется - ни чего не происходит. запускаем заново - вырубает сетевуху.
а нужно что бы всегда пинговал, если нет пинга - ребут сетевой.

Добавлено:
думаю нужно дописать -
:yes
и запуск снова пинга. но не работает.
Автор: SageNS
Дата сообщения: 20.09.2008 18:34
Помогите, плз. Есть задача: "Взять из файла 111.txt вида username=dir(имя пользователя=катлаог) каталог, присвоить его значение переменой и записать это значение в другой файлик такого же вида" Спасибо

Как с помощью командной строки изменить значение в ini файле?
Автор: SageNS
Дата сообщения: 21.09.2008 17:15
Разобрался, как закончу батник выложу листинг. Появился другой вопрос. Как записать в ini файл вместо какой-то настройки(Настройка=Значение) свое значение

Добавлено:
Как с командной строки заменить существующее значение своим?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


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