ECHO пустая строка для каждых 2 строк [дубликат]

Ваши наблюдения над наименованием Tensor абсолютно правильны: имя Tensor является конкатенацией

  1. имени выполняемой операции,
  2. двоеточие (:) и
  3. индекс этого тензора на выходах операции, которая его произвела.

Поэтому тензор с именем "foo:2" является выходом op с именем "foo" в позиции 2 (с индексами, начинающимися с нуля).

Именование объектов tf.Variable немного странно. Каждый tf.Variable содержит объект изменчивого тензора , который содержит состояние переменной (и несколько других тензоров). A "Variable" op (который имеет имя "variable_name" в вашем примере) «производит» этот изменяемый тензор каждый раз, когда он запускается как его 0-й выход, поэтому имя изменяемого тензора "variable_name:0".

Поскольку a tf.Variable в основном неотличим от tf.Tensor & mdash; в нем его можно использовать в тех же местах: mdash; мы приняли решение сделать имена переменных похожими на имена тензоров, поэтому свойство Variable.name возвращает имя изменяемый тензор. (Это контрастирует с объектами tf.QueueBase и tf.ReaderBase , которые не используются непосредственно в качестве тензоров (вместо этого вы должны вызывать методы на них для создания ops, которые работают на их состоянии), поэтому они не имеют тензорного имени.)

4
задан user2606943 23 July 2013 в 14:28
поделиться

2 ответа

попробуйте следующее:

ECHO OFF &SETLOCAL 
(FOR /f tokens^=2^ delims^=^"  %%a IN ('findstr /l "\<SOMETHING=\>" FILE.vav') DO (
    <NUL Set /p =%%a,
    SET /a counter+=1
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET /a counter%%=5
    IF !counter! equ 0 ECHO(
    ENDLOCAL 
    )
)>Results.txt
TYPE results.txt
3
ответ дан Endoro 28 August 2018 в 14:48
поделиться

Поскольку название привлекает вопросников с более общим подходом

, чем здесь представлено (на что отлично ответил Энроро)

Я хотел бы показать решение для вставки пустых строк в файле, читаемом в:

@Echo off&SetLocal EnableDelayedExpansion
Set "File=%~1" & If not defined File (Echo No file name passed&Pause&Exit /B 1)
Set n=2
for /F "delims=" %%A in (
    'Findstr "^" %FILE%'
) do (
    Echo:%%A
    set /A "#+=1,#%%=n" & If !#!==0 Echo:
)

И очень похожей, которая обрабатывает вывод другой команды, здесь sc, отфильтрованной по findstr:

@Echo off&SetLocal EnableDelayedExpansion
Set n=2
for /F "delims=" %%A in (
  'sc query ^| findstr "SERVICE_NAME DISPLAY_NAME"'
) do (
   Echo:%%A
   set /A "#+=1,#%%=n" & If !#!==0 Echo:
)
  • Переменная n самоочевидна.
  • Необычная, но юридическая переменная # подсчитывает строки, является модулем, разделенным на n, и если нуль выдает нужную пустую строку.
  • Из-за восклицательные знаки EnableDelayedExpansion ! на выходе отбрасываются.
0
ответ дан LotPings 28 August 2018 в 14:48
поделиться
Другие вопросы по тегам:

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