Войти

Показать полную графическую версию : [решено] В батнике не получается получить строку из файла


Karlson
11-10-2011, 15:58
имеем файл c:\letter.txt
с содержимым


DeviceID
F:

и батник, который по идее должен доставать букву диска в переменную %let%



@echo off

for /f "skip=1 tokens=*" %%i in (c:\letter.txt) do set let=%%i

echo %let%

не работает, зараза. что не так, ткните носом плиз

kiripanda
11-10-2011, 16:05
выкладывайте сам файл

Karlson
11-10-2011, 16:07
файл создается строкой

wmic logicaldisk where volumename='Thrash' get deviceID>c:\letter.txt

ferget
11-10-2011, 16:10
а что собственно, должно получатся?

сейчас скрипт выдает F:

Karlson
11-10-2011, 16:18
у меня не выдает.
переменная let пустая..
почему и сунулся сюда, вроде должно работать, а никак..
пошел разбираться..
в любом случае спасибо

kiripanda
11-10-2011, 16:23
сейчас скрипт выдает F:
Аналогично.
Но т.к. файл уникодный, попробуй in ('type c:\letter.txt') do

Karlson
11-10-2011, 16:46
не. тут что-то другое.
на домашнем компе тоже все работает.
а тут на рабочем не хочет.
возможно что-то с правами связано, хотя странно это все..

Kazun
11-10-2011, 16:56
@echo off
for /F %%i in ('wmic logicaldisk where volumename^="Thrash" get deviceID ^| findstr ":"') do set let=%%i
echo %let%

Karlson
11-10-2011, 17:09
Kazun, спасибо..
да, бида с кодировкой была..
видать пока лазил туда-сюда, пересохранил текстовый файл...




© OSzone.net 2001-2012