Войти

Показать полную графическую версию : [решено] Как в строке оставить лишь 2 символа, не зная её размера


white155
09-07-2011, 20:21
Имеется переменная, необходимо удалить все символы кроме первых двух

Foreigner
09-07-2011, 20:25
white155,

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

white155
09-07-2011, 20:53
Ещё вопрос, мне необходимо в программе перейти на текущий диск переменной, приведу пример

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

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

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

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

megaloman
09-07-2011, 21:32
Если перейти в 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
а как можно воспользоваться переменной %BUCKUP% и перейти на нужный диск, программно вытащив его с %BUCKUP% »

cd /d %BUCKUP:~0,2%

или

pushd %BUCKUP:~0,2%




© OSzone.net 2001-2012