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

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

Автор: Rishatx
Дата сообщения: 21.06.2006 08:34
[q][/q]
Утилита действует так, как написать не знаю, trt.exe [имя файла.msg] [переименованное имя файла.msg], дело в том, что нужно обрабатывать файлы 7-8 символьные, т.е. переименование заключается в удалении 2-х первых символов в названии,

@Echo Off
PushD C:\Folder\
For %%a in (*.msg) Do Call :_Parse %%a
PopD
GoTo :EOF

:_Parse
Echo TRT %1 /2 (вот как это сюда запихнуть)
Del %1 /q /f
GoTo :EOF


Заранее спасибо, не думал, что мне реально могут помочь...
Автор: KapralBel
Дата сообщения: 21.06.2006 08:52
Rishatx

Код:
@Echo Off
PushD C:\Folder\
For %%a in (*.msg) Do Call :_Parse %%a
PopD
GoTo :EOF

:_Parse
Set N1=%1
Set N2=%N1:~2,127%
TRT %n1% %n2%
Del %1 /q /f
GoTo :EOF
Автор: Rishatx
Дата сообщения: 21.06.2006 09:29
[q][/q]
Супер! Огромное спасибо!
Автор: Accessor
Дата сообщения: 25.06.2006 08:14
Мужики, подмогните, плиз. Даю следующую команду:
ipconfig | findstr "Ethernet"
для того, чтобы получить название сетевого интерфейса. В русскоязычных виндах это строка типа "Подключение по локальной сети". Так вот на некоторых машинах мне нормально выдается эта строка, а на некоторых пишет в неправильной кодировке. В чем может быть проблема?
Да, и еще. Просто команда ipconfig выдает информацию в нормальной кодировке, а вот в купе с findstr получаются крякозябры.
Автор: ZDik
Дата сообщения: 05.07.2006 07:35
уже все
Автор: Molevole
Дата сообщения: 08.07.2006 15:10
Помогите, пожалуйста. Такая ситуация.
Запускаю скриптом программу, которая по окончании работы выдает код завершения (errorlevel):

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd /c start /w E:\program1.exe"

Как в скрипте узнать этот код?
Автор: SERGE_BLIZNUK
Дата сообщения: 09.07.2006 10:33
KapralBel

Цитата:
GoTo :EOF

сколько имею дело с BAT файлами, первый раз такое вижу.. И ещё, я вижу, что вы знаете предмет ;-)) Подскажите, где можно почитать про такие хитрые фишки? Может на микрософте есть документация? Или книжки умные...
Автор: eubulos
Дата сообщения: 09.07.2006 17:23
Возникла довольно странная задача, решения которой не получается найти. Итак, дано: Windows, директория "А" с большим количеством однородный файликов. Задача: раскидать файлики по директориям внутри директории "А" в количестве, скажем 200 штук на директорию. Т.е., например, из директории с файлами в количестве 10000 тысяч должно быть 50 директории с 200 файлами в каждой. Может это как-то можно сделать с помощью bat-файлов? Есть идеи?
Автор: bredonosec
Дата сообщения: 09.07.2006 18:22
а зачем дублировать вопрос в разных разделах?
Автор: eubulos
Дата сообщения: 09.07.2006 23:16
bredonosec
Разделы разные - решения тоже могут быть разными.
Автор: volodyalipkin
Дата сообщения: 10.07.2006 00:07
eubulos
main.bat
set counter=0
for %%i IN (*.*) do call counter.bat %%i

В counter.bat добавляешь к counter 1 ( set /A counter=%counter%) и расгихиваешь в Dir%counter% (copy %1 Dir%counter%/ ). Проверяешь, не достигла ли переменная counter 50 и если достигла, то сбрасываешь её в 0.
Автор: qwertik
Дата сообщения: 11.07.2006 10:09
здравствуйте, у меня возник небольшой вопросик:
мне нужно из ip адреса сделать подсеть шелл скриптом ..... то есть:
subnet='echo $1 | ......... '
echo $subnet
и на выходе должно получиться: 10.10.10
зы переменная 1 известна заранее

и ещё вопрос: если написать $ echo 192.168.1.10 | awk -F . '{print $1 "." $2 "." $3}'
192.168.1 он не будет вместо $1,$2,$3 переменные подставлять, которые объявлены заранее?
Автор: Yuk
Дата сообщения: 11.07.2006 18:30
qwertik
Можно использовать sed вместо awk:
Код: echo 192.168.1.10 | sed -e 's/\.[0-9]*$//'
Автор: qwertik
Дата сообщения: 12.07.2006 12:29
а разница между ними есть????? в смысле в конкретном случае?
Автор: Yuk
Дата сообщения: 12.07.2006 16:19
qwertik

Цитата:
а разница между ними есть?
Ну, если ты волнуешься за переменные...
Автор: svkov
Дата сообщения: 19.07.2006 23:06

Цитата:
Народ! хотите разминку на пятницу ?
есть код Подробнее...
в двух словах: составляет список файлов текущей либо указанной директории и всех поддиректории. в списке указывается: размер файла, его имя и директория где он лежит. Список отсортирован по убыванию размеров. Данный батник используется для вычисления крупных ффайлов и стреляния по юзерам за то что они хранят на сервере для документов фильмы, музыку и прочее запрещенное на заводе (неофициально разрешаем хранить музыки у себя на компе.). У меня файл отчета (если запускать с перенаправлением вывода в ФАЙЛ !!! ) сформированный батником занимает порядка 55 МЕГАБАЙТ (не перепутал!!! ). длится весь подсчет примерно часов 6-8 (в зависимости от нагрузки на сервер). ВОПРОС: как это можно облегчить/ускорить.


NetView за меньшее время просканит ВСЮ СЕТКУ (в т.ч. и сервак) и выдаст вразумительный ответ на вышепоставленный вопрос
Автор: slech
Дата сообщения: 06.08.2006 21:41
Всем привет.
Кто может подсказать чем можно порезать большой файл на куски ?
Нужно что стандартное - желательно.
Или что то простое консольное, но проверенное.

Заранее спасибо.
Автор: Kirillhome
Дата сообщения: 06.08.2006 22:06
slech
Простой консольный rar, например, не подойдет????

rar a -v10M -m0 ИмяАрхива

(т.е. создаем архивы размером 10Мб, без сжатия)
Автор: slech
Дата сообщения: 07.08.2006 07:36
Kirillhome
До сих пор им и ользовался, думал есть что побыстрее. Видимо нема.
Автор: Kirillhome
Дата сообщения: 07.08.2006 10:12
slech
Вот ещё в одном месте что предлагают...


Цитата:


Код:
@echo off
@echo Option Explicit > split.vbs
@echo dim FileSystem, SourceFile, SourceStream, DestinationFileName, DestinationFile, DestinationStream, CurrentChunk >> split.vbs
@echo set FileSystem = CreateObject("Scripting.FileSystemObject") >> split.vbs
@echo set SourceFile = FileSystem.GetFile(WScript.Arguments(0)) >> split.vbs
@echo set SourceStream = SourceFile.OpenAsTextStream (1, 0) >> split.vbs
@echo CurrentChunk = 1 >> split.vbs
@echo do until SourceStream.AtEndOfStream >> split.vbs
@echo DestinationFileName = FileSystem.GetFileName(WScript.Arguments(0)) ^& "." ^& CurrentChunk >> split.vbs
@echo call FileSystem.CreateTextFile (DestinationFileName, true, false ) >> split.vbs
@echo set DestinationFile = FileSystem.GetFile(DestinationFileName) >> split.vbs
@echo set DestinationStream = DestinationFile.OpenAsTextStream ( 2, 0 ) >> split.vbs
@echo DestinationStream.Write ( SourceStream.Read ( WScript.Arguments(1) ) ) >> split.vbs
@echo DestinationStream.Close >> split.vbs
@echo CurrentChunk = CurrentChunk + 1 >> split.vbs
@echo loop >> split.vbs
@echo SourceStream.Close >> split.vbs
call wscript split.vbs %1 %2
erase split.vbs
@echo on


Первый параметр - файл, второй - размер блока в байтах.
split.bat myFile.zip 100000
Автор: sVx
Дата сообщения: 09.08.2006 07:51
помогите решить следущую задачу (если это возможно)

дано:
1. домен с n-ым колличеством компьютеров (win 2k, win Xp)
(comp1, comp2, ..., compn)
2. права доменного админа
(\\comp1\c$, \\comp2\c$, \\comp2\d$, ..., \\compn\c$)
3. слова
(слово1, слово2, ..., словоn)

необходимо:
найти файлы на компьютерах содержащие заданные слова
(имя файлов и тип не известны , большая вероятность что файлы *.doc)
Автор: Kassian
Дата сообщения: 10.08.2006 12:07
UPD

Проблема решена
Автор: Hammerok
Дата сообщения: 10.08.2006 12:32
Подскажите, возможно ли при помощи командной строки вызвать AT-команды модема? Чтоб далее использовать в *.bat или *.cmd.
Автор: WhiteSamurai
Дата сообщения: 16.08.2006 07:38
Подскажите. Как написать батник, если это возможно, который бы создавал соединение (модем), после чего соединялся с ftp-шником.
Или с помощью какой программки можно организовать разрыв соединения (модем), после выполнения определенного приложения.
Автор: Yuk
Дата сообщения: 16.08.2006 07:59
WhiteSamurai

rasdial имя_соединения
ftp -s:файл_с_коммандами
rasdial /disconnect

см. хелп rasdial /?
Автор: ZDik
Дата сообщения: 16.08.2006 08:51
как удалять переодически старые файлы
разной старины появления
Автор: WhiteSamurai
Дата сообщения: 17.08.2006 09:14
Yuk спасибо. Т.к все надо заточить под w98, возникли следующие вопросы:
1. Возможно ли в w98 выводить виндовое окно с сообщением из коммандной строки (батника), наподоби net send, причем на САМОГО СЕБЯ. Или какая прога поможет в этом. Нашел прогу(NETSEND для w98), но из нее localhost - не выходит А ip в ней нельзя вводить.
2. Как отловить ошибку нет связи с ftp сервером? Если скрипт для работы с ftp запускается из batника. В батнке через errorlevel не полчается, при выходи из ftp всегда errorlevel = 0. (и при успешном и при неуспешном конекте)
Зарание спасибо!
Автор: Accessor
Дата сообщения: 21.08.2006 15:13
Народ, а как сохранить текущее значение errorlevel в переменную, чтобы потом, позже, его проанализировать? я пробовал set err=%errorlevel%, но оно не отрабатывает
Автор: KapralBel
Дата сообщения: 21.08.2006 16:17
Accessor
У меня прекрасно сохраняет
приведи свой батничек
Автор: Accessor
Дата сообщения: 22.08.2006 09:42
KapralBel
вот:
@echo off
rar a test c:\*.txt
set err=%errorlevel%
if err 1 goto error
echo Архивация завершилась успешно
goto end
:error
echo Ошибка арзивации
:end

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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