Обратиться к диску, базирующемуся только на его маркировке? (т.е. не буква диска)

Амперсанд (& amp;) является комбинатором, используемым во вложении, и в этом случае он используется для квалификации селектора.

Для общего примера:

// This Sass...
.foo {
  .bar & {
    color: red;
  }
}

// ...would compile to this CSS
.bar .foo { color:red; }

В вашем примере объявление mixin заменяет .foo и будет выглядеть следующим образом:

// If you called your mixin at .bar
.bar {
  @include myMixin {
    color: red;
  }
}

// It should compile to something like this
:global(.rtl) .bar { color: red; }

Подробнее о амперсандах и квалифицирующие селекторы в этой статье CSS Tricks .

7
задан Mark Biek 6 September 2008 в 21:28
поделиться

3 ответа

Этот bat-файл даст Вам букву диска от маркировки диска:

Option Explicit
Dim num, args, objWMIService, objItem, colItems

set args = WScript.Arguments
num = args.Count

if num <> 1 then
   WScript.Echo "Usage: CScript DriveFromLabel.vbs <label>"
   WScript.Quit 1
end if

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")

For Each objItem in colItems
  If strcomp(objItem.VolumeName, args.Item(0), 1) = 0 Then
    Wscript.Echo objItem.Name
  End If
Next

WScript.Quit 0

Выполнение это как:

 cscript /nologo DriveFromLabel.vbs label
1
ответ дан 7 December 2019 в 01:28
поделиться

Вот простой сценарий пакетной обработки getdrive.cmd для нахождения буквы диска от метки тома. Просто назовите "getdrive MyLabel" или getdrive "Моей Маркировкой".

@echo off
setlocal

:: Initial variables
set TMPFILE=%~dp0getdrive.tmp
set driveletters=abcdefghijklmnopqrstuvwxyz
set MatchLabel_res=

for /L %%g in (2,1,25) do call :MatchLabel %%g %*

if not "%MatchLabel_res%"=="" echo %MatchLabel_res%

goto :END


:: Function to match a label with a drive letter. 
::
:: The first parameter is an integer from 1..26 that needs to be 
:: converted in a letter. It is easier looping on a number
:: than looping on letters.
::
:: The second parameter is the volume name passed-on to the script
:MatchLabel

:: result already found, just do nothing 
:: (necessary because there is no break for for loops)
if not "%MatchLabel_res%"=="" goto :eof

:: get the proper drive letter
call set dl=%%driveletters:~%1,1%%

:: strip-off the " in the volume name to be able to add them again further
set volname=%2
set volname=%volname:"=%

:: get the volume information on that disk
vol %dl%: > "%TMPFILE%" 2>&1

:: Drive/Volume does not exist, just quit
if not "%ERRORLEVEL%"=="0" goto :eof

set found=0
for /F "usebackq tokens=3 delims=:" %%g in (`find /C /I "%volname%" "%TMPFILE%"`) do set found=%%g

:: trick to stip any whitespaces
set /A found=%found% + 0


if not "%found%"=="0" set MatchLabel_res=%dl%:
goto :eof








:END

if exist "%TMPFILE%" del "%TMPFILE%"
endlocal
1
ответ дан 7 December 2019 в 01:28
поделиться

Можно использовать язык запросов WMI для этого. Смотрите на http://msdn.microsoft.com/en-us/library/aa394592 (По сравнению с 85) .aspx для примеров. Информация, которую Вы ищете, доступна, например, через свойство VolumeName класса Win32_LogicalDisk, http://msdn.microsoft.com/en-us/library/aa394173 (По сравнению с 85) .aspx

SELECT * FROM Win32_LogicalDisk WHERE VolumeName="MyLabel"

1
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: