Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как в строке оставить лишь 2 символа, не зная её размера (http://forum.oszone.net/showthread.php?t=210844)

white155 09-07-2011 20:21 1710264

Как в строке оставить лишь 2 символа, не зная её размера
 
Имеется переменная, необходимо удалить все символы кроме первых двух

Foreigner 09-07-2011 20:25 1710265

white155,
Код:

set "var=some string"
set "var=%var:~0,2%"
echo %var%


white155 09-07-2011 20:53 1710278

Ещё вопрос, мне необходимо в программе перейти на текущий диск переменной, приведу пример

Есть переменная %BUCKUP% в разных частях программы может принимать разные значения путей на компьютере, и содержать путь как на диске С: так и на любых других

Мне надо узнать эти первые 2 символа, что мы и сделали выше, но использовать их не получается

Вообщем если %BUCKUP% содержит R:\temp\1\dt надо в батнике перейти на диск R:
текущий диск при этом может быть любой другой

если в программе просто писать R: то программа переходит на диск R,
а как можно воспользоваться переменной %BUCKUP% и перейти на нужный диск, программно вытащив его с %BUCKUP%

megaloman 09-07-2011 21:32 1710295

Если перейти в R:\temp\1\dt , то

CD /D R:\temp\1\dt

Если в корень диска, то можно как-то вот так
Код:

::..... Текст батника
::.....
::.....

Call :Disk %Backup%
Cd /D %D%\

::..... Текст батника
::.....
::.....

GoTo :Eof

:Disk
Set D=%~d1
GoTo :Eof

Это можно подсмотреть, набрав For /?

Foreigner 09-07-2011 21:43 1710300

Цитата:

Цитата white155
а как можно воспользоваться переменной %BUCKUP% и перейти на нужный диск, программно вытащив его с %BUCKUP% »

Код:

cd /d %BUCKUP:~0,2%

или

pushd %BUCKUP:~0,2%



Время: 02:55.

Время: 02:55.
© OSzone.net 2001-