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

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

Автор: 01MDM
Дата сообщения: 02.07.2008 10:51
VerlyOKa


Код:
@echo off
chcp 1251 1>nul
for /f "tokens=1,2 delims= " %%a in (1.txt) do call:convert %%a %%b
goto:eof

:convert
chcp 866 1>nul
echo %2,%1 1>>2.txt
chcp 1251 1>nul
Автор: sapr20031
Дата сообщения: 02.07.2008 13:58
Помогите с bat-ником
Нужно чтобы все файлы из папки \\Server\sys\basa\ копировались в папку c:\Program Files\DrWeb\ и не спрашивал перезаписывать файлы или нет. Это для обновления DRWEB нужно.
Автор: skifko
Дата сообщения: 02.07.2008 17:19
Elroir
Спасибо огромное.
Автор: Elroir
Дата сообщения: 02.07.2008 20:41
sapr20031

Цитата:
Нужно чтобы все файлы из папки \\Server\sys\basa\ копировались в папку c:\Program Files\DrWeb\ и не спрашивал перезаписывать файлы или нет


Код:
xcopy \\Server\sys\basa\*.* "c:\Program Files\DrWeb\" /Y
Автор: gryu
Дата сообщения: 02.07.2008 21:00
skifko
Elroir
Я бы добавил ключ /d. Это исключит перезапись уже имеющихся файлов, но позволит обновлять изменённые файлы.

P.S.
И ещё есть ключ /z.
В принципе этот ключ парименяется как раз для копирования по сети.
Как я понял, режим возобновления копирования, на случай сбоя.
Автор: CrackMe
Дата сообщения: 04.07.2008 18:01
Привет всем. У меня есть проблема. У меня есть папкас подпапками, в которых находяться сжатые в формат zip fb2-книги (библиотека иными словами у меня). Мне нужно рукрусивно распаковать все zip-файлы в подпапках, а затем упаковать все fb2-файлы в в папке. Пожалуйста, напишите скрипт. Заранее спасибо.
Автор: XXXXL
Дата сообщения: 04.07.2008 18:13
Здравствуйте!
igor_andreev когда то давно помог написать такой батник:

Цитата:
fc /l 1.txt 2.txt
if not errorlevel 1 start program.exe


Помогите немного изменить его.
Нужно, что бы запускалась 1.exe, если содержимое одинаковое и 2.exe, если разное.
Автор: 01MDM
Дата сообщения: 04.07.2008 19:22
XXXXL


Код:
fc 1.txt 2.txt 1>nul && start 1.exe || start 2.exe
Автор: XXXXL
Дата сообщения: 04.07.2008 19:27
01MDM, огромное спасибо!!!
Автор: 01MDM
Дата сообщения: 04.07.2008 20:15
CrackMe
Нужно распаковать, а потом снова запаковать все в одну папку?
С помощью 7-zip:

Код:
@echo off

:: 1 - папка с подпапками, где архивы
:: 2 - итоговая папка

md "2" 2>nul
for /f "tokens=*" %%i in ('dir /b /s "1\*.zip"') do 7z e "%%i" -o"2"
7z a -tzip "2.zip" "2"
Автор: Cmith
Дата сообщения: 05.07.2008 18:02
Нужен батник который при запуске заходил бы на фтп (не аноним) и заливал бы на фтп файл с компа.
123.bat: "ftp ftp_server login pass cd dir send name_file close quit"
После "ftp_server" cmd останавливается и просит ввести логин вручную.
Как сделать, чтобы батник автоматически заходил на фтп с именем и паролем и копировал файл на фтп?
Автор: 01MDM
Дата сообщения: 05.07.2008 18:29
Cmith


Код:
@echo off
(
echo login
echo pass
echo cd
echo dir
echo send name_file
echo close
echo quit
) 1>ftp.txt
ftp -s:ftp.txt ftp_server
del /q ftp.txt
Автор: Cmith
Дата сообщения: 05.07.2008 21:37
01MDM

Спасибо! работает.
Только вот вопрос. Зачем нужно создавать ftp.txt?
Автор: 01MDM
Дата сообщения: 05.07.2008 21:57
Cmith

Цитата:
Зачем нужно создавать ftp.txt?


ftp.exe не работает из скриптов, а из файла читает команды с ключом -s. В батнике просто сначала создается этот файл с командами и подсовыватся ftp.exe

Можешь просто составить текстовый файл с командами ftp и запускать:

Код:
ftp -s:file.txt some://url
Автор: Craager
Дата сообщения: 07.07.2008 09:40
Люди помогите, нужен скрипт на языке программирования PERL или PHP, который будет передавать данные другому скрипту, а точнее брать определённую информацию с формы из которых будет передаваться эта информация для APACHE
Автор: INNO_SANCTUM
Дата сообщения: 07.07.2008 11:48
Доброго времени суток.
Есть задача:
нужно запустить все файлы с архивным атрибутом из заданной папки, после чего архивный атрибут с этих файлов снять.
Решение:


Код:
set pth=d:\work\a

for /F "delims=~ tokens=*" %%i in ('dir /b /a:a %pth%') do (
attrib -A "%pth%\%%i"
start %pth%\%%i)
Автор: 01MDM
Дата сообщения: 07.07.2008 11:53
INNO_SANCTUM


Код:
start "" "%pth%\%%i"
Автор: vmix
Дата сообщения: 07.07.2008 19:29
Проблема с воскл. знаком в имени файлов:

chcp 1251
for /f "tokens=*" %%C in (del.log) do del /q "%%C"

если в списке del.log (CP1251) встречаются файлы с воскл. знаком! то они не удаляются, как потом выяснилось команде DEL передается имя файла без воскл. знаков!
Как победить это?
Автор: 01MDM
Дата сообщения: 07.07.2008 19:59
vmix

Все удаляется. Ошибка где-то в другом месте.
Автор: Elroir
Дата сообщения: 07.07.2008 20:07
vmix

Цитата:
если в списке del.log (CP1251) встречаются файлы с воскл. знаком! то они не удаляются

У тебя наверняка в начале батника стоит команда "setlocal enabledelayedexpansion". Вот она и виновата
Автор: 01MDM
Дата сообщения: 07.07.2008 20:17
Elroir
vmix

Да, проверил, тогда надо так


Код:
for /f "tokens=*" %%C in (del.log) do endlocal && del /q "%%C"
Автор: Elroir
Дата сообщения: 07.07.2008 20:35
01MDM
Э... как-то мне это решение не нравится. Могут потеряться определенные выше переменные, может перестать работать код, который зависит от "отложенного раскрытия" и т.д.
Лучше уж вынести в отдельный блок:

Код:
setlocal disabledelayedexpansion
for /f "tokens=*" %%C in (del.log) do del /q "%%C"
endlocal
Автор: 01MDM
Дата сообщения: 07.07.2008 20:47
Elroir
Согласен.
Автор: vmix
Дата сообщения: 08.07.2008 18:59
Elroir
01MDM
Спасибо! Да, дело было в setlocal ENABLEDELAYEDEXPANSION
переделал код без использования setlocal ENABLEDELAYEDEXPANSION
и все стало ОК!

Видимо, ! считается переменной и в значении, которое принимает %%С опускается.

Кстати в RSDN#4-2007 говорится о подобной проблеме с переменной "!"

Код:
@echo off
rem Создаём переменные
set MYVVALUE1=123
set MYVVALUE2=MYVVALUE1
rem Создаём переменную "!"
set !=!
rem Активируем двойное раскрытие переменных через оператор !
setlocal ENABLEDELAYEDEXPANSION
echo 1. !%MYVVALUE2%!
echo 2. %!MYVVALUE2!%
echo 3. %!%MYVVALUE2%!%
rem Восстанавливаем настройки по умолчанию
endlocal
Автор: igor_andreev
Дата сообщения: 09.07.2008 12:21
vmix

Цитата:
Попробовал set !=! в своем скрипте, не получилось..

Переменную просто назови как угодно, но не "!"

Код:
@echo off
set "MYVVALUE1=123"
set "MYVVALUE2=MYVVALUE1"
set "SPLAT=!"
setlocal ENABLEDELAYEDEXPANSION
echo 1. !%MYVVALUE2%!
echo 2. %SPLAT%MYVVALUE2%SPLAT%
echo 3. %!%MYVVALUE2%!%
endlocal
Автор: Kilich
Дата сообщения: 09.07.2008 13:34
Нуждаюсь в вашей помощи!
просмотрел кучу станиц этой темы но рабочего варианта не смог найти , как не изворачивался изменяя код.

Вопрос:
Существуют текстовые файлы с кодировками (КОИ, ВИН и ДОС) - Необходимо обработать все файлы и привести их к единой Кодировке( либо в отдельный файл с кодировкой ВИН).

Помогите очень сильно нужно ...
Автор: igor_andreev
Дата сообщения: 09.07.2008 14:15
Kilich
В комстроке зайди в папку с *.txt и дай команду:

Код:
for %a in (*.txt) do xcode -w "%a" "%a"
Автор: Kilich
Дата сообщения: 09.07.2008 16:29
igor_andreev
Попробую !!!
За ранее спасибо .... надеюсь получится....
Автор: vmix
Дата сообщения: 10.07.2008 09:28
igor_andreev

Цитата:
Код:
for %a in (*.txt) do xcode -w "%a" "%a"


IMHO, xcode не верно транслирует символ "номер" №
win (0xB9) -> win (0xC9)
win (0xB9) -> dos (0x89)
win (0xB9) -> iso (0xB9)
win (0xB9) -> koi (0xEA)

верно:
win (0xB9) -> win (0xB9)
win (0xB9) -> dos (0xFC)
win (0xB9) -> iso (0xF0)
win (0xB9) -> koi (0xBF)

Автор: Kilich
Дата сообщения: 10.07.2008 15:03
igor_andreev
Что то нифига не вышло...
Наверное прийдется писать консольное приложение под свои нужды в Дельфи.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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