Перейти к содержимому


- - - - -

Cmd скрипты


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Sample

Sample

    Завсегдатай

  • Members
  • PipPipPipPipPip
  • 679 сообщений

Отправлено 17 Февраль 2008 - 12:45

Подскажите какие-нибудь гайды по написанию cmd скриптов в windows? После никсов очень сложно, нужно сделать элементраную операцию grep и cut, а нечем  :blink:

#2 x0r

x0r

    Живёт на форуме

  • Games Moderators
  • PipPipPipPipPipPipPip
  • 1 465 сообщений
  • Город:new();
  • Интересы:сетевая безопасность, UNIX, кодинг<br /><br />Favorite bands: Dragonforce, Dragonland, Kamelot, Sonata Arctica, KISS, Manowar, Avantasia, Stratovarius

Отправлено 17 Февраль 2008 - 15:10

Э-м-м.. виндовые команды это ничто по с равнению с шелом, если уж нужно грепать, то может стоит обратить внимание на VB или на худой конец поставить перл или питон. Адимнить винду батниками имхо не возможно ;)
вот кое что: http://www.dospage.by.ru/artcl006.shtm
И почитай хелпу виндовую по cmd.

#3 Sample

Sample

    Завсегдатай

  • Members
  • PipPipPipPipPip
  • 679 сообщений

Отправлено 17 Февраль 2008 - 18:39

уже читал это.. вариант грепа - скинуть все в файл, а потом FOR-ом доставать нужное o_O ужас. Вообщем уже не актуально, пришлось делать всё на сях (

#4 x0r

x0r

    Живёт на форуме

  • Games Moderators
  • PipPipPipPipPipPipPip
  • 1 465 сообщений
  • Город:new();
  • Интересы:сетевая безопасность, UNIX, кодинг<br /><br />Favorite bands: Dragonforce, Dragonland, Kamelot, Sonata Arctica, KISS, Manowar, Avantasia, Stratovarius

Отправлено 17 Февраль 2008 - 20:27

Я бы просто перл поставил и за 3 минуты все грепнул :)

#5 Sample

Sample

    Завсегдатай

  • Members
  • PipPipPipPipPip
  • 679 сообщений

Отправлено 18 Февраль 2008 - 01:27

ээх, если бы я бы делал себе, я бы cygwin поставил  :)

#6 IL

IL

    Хранитель форума

  • Members
  • PipPipPipPipPipPipPipPip
  • 2 127 сообщений
  • Пол:Мужчина
  • Город:Химки, EastSide

Отправлено 18 Февраль 2008 - 16:29

Sample и на твоей улице будет праздник - http://unxutils.sourceforge.net/, http://gnuwin32.sourceforge.net/ - grep, sed, gawk =)

Сообщение отредактировал IL: 18 Февраль 2008 - 16:31


#7 DarkStar2000

DarkStar2000

    Живёт на форуме

  • Members
  • PipPipPipPipPipPipPip
  • 1 154 сообщений
  • Пол:Мужчина
  • Город:Console World

Отправлено 17 Март 2008 - 16:30

Вообще для таких дел рекомендуется поставить PowerShell

#8 GeparD

GeparD

    Втянувшийся

  • Members
  • PipPipPip
  • 289 сообщений
  • Пол:Мужчина
  • Город:himki.net
  • Интересы:himki.net

Отправлено 02 Сентябрь 2008 - 03:52

Просмотр сообщенияSample (17.02.2008, 13:45) писал:

Подскажите какие-нибудь гайды по написанию cmd скриптов в windows? После никсов очень сложно, нужно сделать элементраную операцию grep и cut, а нечем  B)

Простая программа для работы с файловой системой.

1 Сравнивает найденые html-ссылки в asm коде и файлы в папке html
в случае не найденых делает отчет в файл


none (17.02.2008, 13:45) писал:

@echo off
TITLE Get Uncached Html
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
Set Commandline=Dos_Commandline_full_opportunities.reg
If Not Exist "%TEMP%\%Commandline%" (
echo REGEDIT4 >> %TEMP%\%Commandline%
echo. >> %TEMP%\%Commandline%
echo [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]  >> %TEMP%\%Commandline%
echo "DelayedExpansion"=dword:00000001 >> %TEMP%\%Commandline%
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor] >> %TEMP%\%Commandline%
echo "DelayedExpansion"=dword:00000001 >> %TEMP%\%Commandline%
regedit /s %TEMP%\%Commandline% )
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
echo Please Wait.
pause
If Not Exist "~Temp\NewHtml" MD ~Temp\NewHtml
If Not Exist "IOServer" MD IOServer
If Exist "IOServer\AI.obj" ( Set AIStatus=True ) Else ( Set AIStatus=False )
If Exist "IOServer\Html\*.htm" (
Set HtmlStatus=True
For %%a in (IOServer\Html\*.htm) do (
set /a count=!count! + 1
)
) Else ( Set HtmlStatus=False )
CLS
echo.
echo **********************************
echo - File:AI    = %AIStatus%
echo - File:Html  = %HtmlStatus%
echo - Html:Count = %count%
echo **********************************
echo.
If %AIStatus% == False  ( Goto Exist )
If %HtmlStatus% == False ( Goto Exist )

echo Press Enter: Continue
echo.
pause > NUL
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
If Exist "IOServer\AI.obj" (
If Exist "~Temp\AI.Resule.txt" Del /Q ~Temp\AI.Resule.txt
echo Search Html StringLines.
echo.
Find /i ".htm" IOServer\ai.obj >> ~Temp\AI.Resule.txt
)
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
If Exist "IOServer\AI.obj" (
If Exist "~Temp\AI.Resule.txt" (
If Exist "~Temp\AI.Resule[Variable].txt" Del /Q ~Temp\AI.Resule[Variable].txt
If Exist "~Temp\AI.Resule[Constant].txt" Del /Q ~Temp\AI.Resule[Constant].txt
If Exist "~Temp\NewHtml\*.*" Del /Q ~Temp\NewHtml\*.*
If Exist "AI.Resule.all.html.txt" Del /Q AI.Resule.all.html.txt
If Exist "AI.Resule.No.Html.txt" Del /Q AI.Resule.No.Html.txt
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
Find /i " string " ~Temp\AI.Resule.txt >> ~Temp\AI.Resule[Variable].txt
Find /i ". " ~Temp\AI.Resule.txt >> ~Temp\AI.Resule[Constant].txt
echo Sort Variable Param.
For /F "tokens=3 delims= " %%a in (~Temp\AI.Resule[Variable].txt) do (
echo %%~na.htm >> AI.Resule.all.html.txt
If Not Exist "IOServer\Html\%%~na.htm" (
echo %%~na.htm >> ~Temp\NewHtml\%%~na.htm
)
)
echo Sort Constant Param.
For /F "tokens=2 delims= " %%b in (~Temp\AI.Resule[Constant].txt) do (
echo %%~nb.htm >> AI.Resule.all.html.txt
If Not Exist "IOServer\Html\%%~nb.htm" (
echo %%~nb.htm >> ~Temp\NewHtml\%%~nb.htm
)
)
For %%c in (~Temp\NewHtml\*.htm) do echo %%~nc.htm >> AI.Resule.No.Html.txt
)
)
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
If Exist "AI.Resule.Empty.Html.txt" Del /Q AI.Resule.Empty.Html.txt
echo.
echo Search Empty Html StringLines
For /F "tokens=1,2 delims=. " %%a in (~Temp\AI.Resule.txt) do (
If %%~nb.htm == .htm echo Line: %%~na. '%%~nb.htm' >> AI.Resule.Empty.Html.txt
)
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
CLS
For /F %%a in (~Temp\AI.Resule.txt) do Set /a AIcount=!AIcount! + 1
For /F %%b in (AI.Resule.Empty.Html.txt) do Set /a AIempty=!AIempty! + 1
For %%c in (~Temp\NewHtml\*.*) do Set /a AINoHtml=!AiNoHtml! + 1
echo.
echo **********************************
echo - Dir:Html:Count  = %count%
echo - AI:Html:Count   = %AIcount%
echo - AI:Empty:Count  = %AIempty%
echo - AI:Exist:Count  = %AINoHtml%
echo **********************************
echo.
Goto Exist
:: /*///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
:Exist
Echo Press Enter: Exit
Pause > nul
exit

Подобныех программ по сортировки файлов, текста в файлах (своего рода Regular)  можно написать самому
в обычном notepad.

#9 yXTbI

yXTbI

    Новичок

  • Members
  • Pip
  • 7 сообщений

Отправлено 21 Декабрь 2008 - 22:33

чтобы народ не парился - или юзайте юникс-порты под винду (в треде уже дали ссылки)

а вот реальная замена grep - findstr. набери в командной строке для прикола
findstr /?

ну а для замены cut... юзайте порты.
ну а гайды по написанию скриптов - гуглософт помогут :)

#10 RobertoKarlos

RobertoKarlos

    Новичок

  • Members
  • Pip
  • 4 сообщений
  • Город:Россия

Отправлено 29 Май 2009 - 22:01

Я вот создаю программу. вот часть кода
        Dim StartCMD As Object = "C:windowssystem32cmd.exe"
        Process.StartStartCMD
        SendKeys.Send"c:" & "enter"
        SendKeys.Send"Cd C:windowssystem32" & "enter"
        SendKeys.Send"Echo off" & "enter"
        SendKeys.Send"Cls" & "enter"

Как сделать чтобы командная строка отображалась в textbox а не в окне командной строки?

#11 Бабка Клавка

Бабка Клавка

    Постоялец

  • Members
  • PipPipPipPip
  • 416 сообщений
  • Пол:Мужчина

Отправлено 01 Июнь 2009 - 13:58

Просмотр сообщенияRobertoKarlos (29.05.2009, 23:01) писал:

...
Как сделать чтобы командная строка отображалась в textbox а не в окне командной строки?
перенаправь поток в текстбокс и усе.

Просмотр сообщенияRobertoKarlos (29.05.2009, 23:01) писал:

Я вот создаю программу. вот часть кода
        Dim StartCMD As Object = "C:windowssystem32cmd.exe"
        Process.StartStartCMD
        SendKeys.Send"c:" & "enter"
        SendKeys.Send"Cd C:windowssystem32" & "enter"
        SendKeys.Send"Echo off" & "enter"
        SendKeys.Send"Cls" & "enter"
А кстати что за ужасный синтаксис?! аля бейсик? :(

#12 GeparD

GeparD

    Втянувшийся

  • Members
  • PipPipPip
  • 289 сообщений
  • Пол:Мужчина
  • Город:himki.net
  • Интересы:himki.net

Отправлено 22 Ноябрь 2009 - 06:09

Dim StartCMD As Object
Basic 100%

"Как сделать чтобы командная строка отображалась в textbox а не в окне командной строки?"
Visual скорей всего.




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных