Как включить / выключить Echo для манипулирования файлами - PullRequest
0 голосов
/ 14 февраля 2019

У меня проблема с включением / выключением echo в пустых строках.Я перепробовал несколько вещей, в том числе переменную echo.

Вот код, который я сейчас использую вместе с журналом и текущим выводом после того, как я использую сценарий для анализа записей с некоторыми записями, которые являются пустымичто я хочу оставить пустым.

Текущий код

for /f "skip=%skipTo% tokens=1,* delims=]" %%a In ('type %InputFile% ^| find /v /n ""') do (
    set ip=%%b
    set ip=!ip:!
    set test=!ip!
    echo !ip!
    echo(!test!

    if "!test!" == [] (
        !test! >> E:\EPM_Cloud\LoadFiles\BUD_PLN\Security\GROUPS_USERS_CURRENT_LIST.csv
    ) else (echo %%b >> E:\EPM_Cloud\LoadFiles\BUD_PLN\Security\GROUPS_USERS_CURRENT_LIST.csv)
)

Текущий выход (Обратите внимание, что мне нужно сохранить 3 пустые строкикоторые в настоящее время имеют «ECHO выключен»)

#group_children 
id,group_id,group_provider,user_id,user_provider 
BL_LEAD,,,TestUser_2,LDAP_Directory_Provider 
BL_LEAD,,,angelo.vergura@nrc.gov,LDAP_Directory_Provider 
ECHO is off.
ECHO is off.
 ECHO is off.
#group_children 
id,group_id,group_provider,user_id,user_provider 
NON_BL_LEAD,,,Christopher.George@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,Lindsey.Heeszel@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,Safa.Kaleem@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,Susan.Orbach@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,Tung.Truong@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,angelo.vergura@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,arodriguez,LDAP_Directory_Provider 
NON_BL_LEAD,,,camason@huronconsultinggroup.com,LDAP_Directory_Provider 
NON_BL_LEAD,,,jeffrey.sheldon@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,larry.mason@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,mary.moshier@nrc.gov,LDAP_Directory_Provider 
NON_BL_LEAD,,,sreekanth.manne@nrc.gov,LDAP_Directory_Provider 
ECHO is off.
ECHO is off.
ECHO is off.

Текущий журнал - После выполнения для этого кода (как вы можете видеть, это свидетельствует о том, почему я получаю его в выводе дляпустая строка? Если нет пустой строки, вы получаете результаты, но они не отображаются в журнале

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

ECHO is off.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Чтобы исключить сообщение ECHO IS OFF (или ON), когда строка пуста (или ничего, кроме пробелов), просто используйте ECHO(%%b вместо ECHO %%b.

Традиционно люди использовали ECHO.устранить проблемы с пустыми строками.Но есть некоторые непонятные ситуации, когда это может вызвать проблемы.

ECHO( всегда работает.

0 голосов
/ 14 февраля 2019

if "!test!" == [] никогда не будет соответствовать.Не используйте пробелы.

If "%string%"=="" что-то делает, если строка пуста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...