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

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

Автор: 01MDM
Дата сообщения: 16.07.2008 11:43
kyky2008

Попробуй так:

Код:
for /f "tokens=*" %%i in (%%z) do (
set "str=%%i"
if "!str:~0,8!" NEQ "ДатаСооб" echo !str! >> 1\%%~nz%
if "!str:~0,8!" EQU "ДатаСооб" echo ДатаСооб:%DD%.%MM%.%YY% >> 1\%%~nz%
)
Автор: kyky2008
Дата сообщения: 16.07.2008 12:41
01MDM
спасибо, заработало.
Автор: GTHack
Дата сообщения: 16.07.2008 13:29
можно ли батником проверить наличие определенного файла на фтп ?
Автор: Dimapplk
Дата сообщения: 16.07.2008 16:10
Здравствуйте.
Помогите написать батник для распаковки всех *.rar файлов в в папке.
Условия задачи следующие:
1.Нужно распаковать все архивы в папке C:\Downloads
2. В папке могут быть и многтомные и обычные архивы.
3. В папке может быть несколько многотомных архивов c нехватающими томами.
4. Успешно распакованные архивы нужно удалять.

Не обязательное условие
5. Если в корне архива больше двух файлов или папок, то распаковать нужно не в C:\Downloads, а в C:\Downloads\ИмяАрхива\


Добавлено:
GTHack

Вот так вроде работает:


Код: [no]@echo off
cls
echo open ftp.Тут_Адрес_Твоего_ФТП>commands.crpt
echo Тут_Твой_Логин>>commands.crpt
echo Тут_Твой_Пароль>>commands.crpt
echo ls Тут_Имя_Или_Маска_Файла>>commands.crpt
echo bye>>commands.crpt
ftp -s:commands.crpt>Answers.txt
del commands.crpt
find "0 matches total" Answers.txt>nul
if errorlevel 1 (echo Файл найден) Else (Echo Файл не найден.)
del Answers.txt
[/no]
Автор: GTHack
Дата сообщения: 17.07.2008 06:32
find в любом случае дает errorlevel 1 - хоть найдена подстрока, хоть не найдена

на стандартный вывод дает такие строчки (Если не найдено)

---------- ANSWERS.TXT


и такие (Если найдено)

---------- ANSWERS.TXT
-rw-r--r-- 1 ftp ftp 105702645 Jul 17 03:45 sibtorg170708.zip


Добавлено:
блин простая вроде задача
Если есть в заданном файле строчка - печатаем "есть" если нету печатаем "нету"

а туплю
Автор: igor_andreev
Дата сообщения: 17.07.2008 08:08
GTHack
У меня вот так работает, на анонимном фтп проверил

Код:
@echo off
set "file=wrar371.exe"

> "c:\script.ftp" echo open ftp.rarlab.com
>>"c:\script.ftp" echo cd rar
>>"c:\script.ftp" echo ls *.* "c:\answers.txt"
>>"c:\script.ftp" echo bye

ftp -s:"c:\script.ftp" -A
cls
more "c:\answers.txt" | find "%file%">nul && echo Found || echo Not found

del "c:\script.ftp"
del "c:\answers.txt"

pause
Автор: GTHack
Дата сообщения: 17.07.2008 08:58
я так сделал проверку

for /f "tokens=1 delims=:" %%a in ('findstr /n "%file%" answers.txt') do бла бла бла

хотя так явно прикольнее - ща переделаю
more "answers.txt" | find "%file%">nul && echo Found || echo Not found

СПАСИБО за помощь

Добавлено:
вообще я сразу 4 файла контролирую

было так

for /f "tokens=1 delims=:" %%a in ('findstr /n "%file1%" answers.txt') do set /a count+=1
for /f "tokens=1 delims=:" %%a in ('findstr /n "%file2%" answers.txt') do set /a count+=1
for /f "tokens=1 delims=:" %%a in ('findstr /n "%file3%" answers.txt') do set /a count+=1
for /f "tokens=1 delims=:" %%a in ('findstr /n "%file4%" answers.txt') do set /a count+=1
if %count% LSS 4 (
    echo "FTP problem";
......

сделал так

more "answers.txt" | find "%file1%">nul && set /a count+=1
more "answers.txt" | find "%file2%">nul && set /a count+=1
more "answers.txt" | find "%file3%">nul && set /a count+=1
more "answers.txt" | find "%file4%">nul && set /a count+=1
if %count% LSS 4 (
echo "FTP problem";
.....

может можно и более красиво (например циклом как то организовать - но это уже сложно)
впринципе работает обоими способами
Автор: Takuja
Дата сообщения: 17.07.2008 10:47
Парни привет это сково я,
такая тема
в СМД есть утилита RUNAS после выполнения каторой от пользорвателя требуется ввести пароль руками.
как можно ввести этот пароль автоматически через саму СМД
мне что то посоветовати типа через < или | но шо то ничерта не работает.

как так? говорите
Автор: KapralBel
Дата сообщения: 17.07.2008 11:32
Takuja

Код: /savecred Использовать учетные данные, сохраненные пользователем.
Этот параметр не доступен в Windows XP Home Edition
и будет проигнорирован.
Автор: Takuja
Дата сообщения: 17.07.2008 11:42
не, эта тема не канает, нада именно просто ввести пароль.
вот например вводим
runas /env /user:admin c:\windows\notepad.exe

Добавлено:

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

так вот как ввести туда пароль? что бы батник сам ввел пароль.
Автор: Ortios
Дата сообщения: 17.07.2008 12:26
Takuja

Цитата:
так вот как ввести туда пароль? что бы батник сам ввел пароль.

IMHO, через батник никак.
А через VBS смотри 5 страницу текущей темы.
Автор: Dimapplk
Дата сообщения: 17.07.2008 13:32
Ortios
А так разве не сработает:

Код: [no]echo пароль|runas /env /user:admin c:\windows\notepad.exe[/no]
Автор: KapralBel
Дата сообщения: 17.07.2008 13:37
Takuja
schtasks /create /?
schtasks /run /?
Автор: Andrey1901
Дата сообщения: 17.07.2008 15:20
Подскажите плиз как скопировать файлы созданные вчера (в крайнем случаи сегодня)

Автор: king_stiven
Дата сообщения: 17.07.2008 16:47
Andrey1901
В шапке

Цитата:
Работа с текстом, датой, и файлами »


Автор: Ortios
Дата сообщения: 17.07.2008 19:41
Dimapplk,

Цитата:
А так разве не сработает:
echo пароль|runas /env /user:admin c:\windows\notepad.exe


Так, нет. Что ж ты, сам-то не попробовал. Runas не воспринимает типовые батниковские приемы.
Автор: Dimapplk
Дата сообщения: 17.07.2008 20:26
Ortios 20:41 17-07-2008
Цитата:
Что ж ты, сам-то не попробовал.

Да у меня пароль на учетку не установлен.
А echo.|runas.. сработал так же как и runas... + нажатие Enter.
Сейчас специально поставил пароль - ты абсолютно прав, не работает. Ну век живи - век учись.
Автор: ailman85
Дата сообщения: 18.07.2008 10:57
Оч нужен батник, такой чтобы он измерял общий размер каталога. И если размер больше, скажем 4.7Гб, то нужно скопировать все файлы в этом каталоге, кроме последнего (который с сегодняшней датой создания) в другую папку.

Помогите плиз! ((
Автор: igor_andreev
Дата сообщения: 18.07.2008 11:12
ailman85
Размер каталога удобно вычислять майкрософтовской diruse.exe
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=955D7F2F-73D9-4018-9DD7-42DA210E62EE&displaylang=en

Код:
@echo off
for /f "tokens=1" %%a in ('diruse /s /m c:\folder\') do set "folder_size=%%a"
Автор: ailman85
Дата сообщения: 18.07.2008 12:00
Так, с первой частью разобрались. Спасибо!
Как теперь разобраться со второй?
Автор: GreaseOD
Дата сообщения: 18.07.2008 13:58
Может тема уже и не актуальна, но все же спрошу.
Каким способом можно обработать текстовый файл в котором строки находяться в кавычках ("), чтобы создался точно такой же файл с теми же строками, но без кавычек??

Заранее спасибо!
Автор: ailman85
Дата сообщения: 18.07.2008 15:36
Хотя в принципе, можно было бы скопировать все файлы из этого каталога, а затем удалить тот, который имеет актуальную дату создания. Но этот способ не совсем оптимальный. Хотелось бы, чтобы файл с актуальной датой полностью исключался из списка копируемых файлов.
Автор: 01MDM
Дата сообщения: 18.07.2008 18:46
GreaseOD
Два варианта:
1. С потерей форматирования

Код:
@echo off
for /f "tokens=1 delims=""" %%i in (1.txt) do echo %%i 1>>2.txt
Автор: ror191505
Дата сообщения: 18.07.2008 20:36
Как получить полный доступ над файлом (themecpl.dll на висте)что-бы можно было удалять(очень нужно)
Автор: RoloTomasi
Дата сообщения: 19.07.2008 18:06
Наверняка есть решение, но найти не смог.
Необходимо вывести имена файлов в папке в список(текстовый файл).
При этом вывести надо имя файла и его размер.
Вариант dir (/b)>list.txt не устраивает.
Автор: yurkesha
Дата сообщения: 19.07.2008 18:21
Ну например так можно:
FOR /r %%i IN (*) DO echo %%~nxi %%~zi>>list.txt
После /r впрочем можно написать директорию которую обрабатываем... Либо подставить его как параметр из командной строки создаваемого скрипта...
Автор: GreaseOD
Дата сообщения: 19.07.2008 22:13
01MDM


Цитата:
2. Без потери:

Код:
@echo off
(
sed "s;""";;g" 1.txt
) 1>2.txt


Этот вариант мне подходит. Большушее СПАСИБО.

Не подскажешь где найти инфу про "Ssed" или "sed" ?
Автор: ohlos
Дата сообщения: 19.07.2008 22:39
GreaseOD
http://azarkevich.blogspot.com/2008/03/sed.html
Автор: GreaseOD
Дата сообщения: 19.07.2008 23:33
ohlos

Спасиб ))
Автор: slavka850
Дата сообщения: 20.07.2008 13:38
я плохо знаю о возможностях cmd. не могли бы вы сказать возможно ли средствами только bat-файлов сделать следующее (подобное я уже делал средствами проги InqSoft Sign 0f Misery): скопировать текст -> удалить в нем название файла (то есть выделить начиная с конца до первого сплеш-символа) -> скопировать то что получилось -> запустить проводник и в адресную строку вставить скопированное

Данное чудо нужно для того, чтоб на дисках (CD/DVD), содержащих html-списки со ссылками на файлы реализовать столь нужную функцию перехода в папку с файлом.
Заранее спасибо.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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