none
Проблема с циклом FOR RRS feed

  • Вопрос

  • В виндовз 7 не работает цикл в cmd набираю комманду:

    for /f "tokens=*" %a in ("e:\key\LicenseKeys_201531.csv") do echo %a

    должен построчно присвоить переменной %a значение целой строки, но вместо этого он просто тупо печатает эту строку,

    в операционной системе windows xp у меня все работало.

    Назрел вопрос с чем свзяана проблема?

    1 с антивирусом касперским?

    2 UAC контролем учетных записей?

    3 Или кривизна мелкософта?

    3 марта 2015 г. 8:43

Ответы

  • echo %a - напечатать значение присвоенное в %a

    вопрос не понятен


    ПыСы переходите на современные продукты (что касается скриптов то заменой CMD является PowerShell)
    • Изменено Vector BCOModerator 3 марта 2015 г. 9:47
    • Помечено в качестве ответа KazunEditor 5 марта 2015 г. 5:20
    3 марта 2015 г. 9:44
    Модератор
  • Использовать одинарные кавычки и команду type:

    for /f "tokens=*" %a in ('type e:\key\LicenseKeys_201531.csv') do @echo %a

    или убрать кавычки:

    for /f "tokens=*" %a in (e:\key\LicenseKeys_201531.csv) do @echo %a


    • Изменено KazunEditor 3 марта 2015 г. 10:14
    • Предложено в качестве ответа Vector BCOModerator 4 марта 2015 г. 18:31
    • Помечено в качестве ответа KazunEditor 5 марта 2015 г. 5:20
    3 марта 2015 г. 10:10
    Отвечающий

Все ответы

  • echo %a - напечатать значение присвоенное в %a

    вопрос не понятен


    ПыСы переходите на современные продукты (что касается скриптов то заменой CMD является PowerShell)
    • Изменено Vector BCOModerator 3 марта 2015 г. 9:47
    • Помечено в качестве ответа KazunEditor 5 марта 2015 г. 5:20
    3 марта 2015 г. 9:44
    Модератор
  • Использовать одинарные кавычки и команду type:

    for /f "tokens=*" %a in ('type e:\key\LicenseKeys_201531.csv') do @echo %a

    или убрать кавычки:

    for /f "tokens=*" %a in (e:\key\LicenseKeys_201531.csv) do @echo %a


    • Изменено KazunEditor 3 марта 2015 г. 10:14
    • Предложено в качестве ответа Vector BCOModerator 4 марта 2015 г. 18:31
    • Помечено в качестве ответа KazunEditor 5 марта 2015 г. 5:20
    3 марта 2015 г. 10:10
    Отвечающий
  • батва друзья в икспях работало без кавычек и тайпов...
    3 марта 2015 г. 11:00
  • батва друзья в икспях работало без кавычек и тайпов...

    но ведь что то изменилось, и вы уже не в икспях....

    в хр работали 8 битные прикладухи...

    3 марта 2015 г. 11:02
    Модератор
  • батва друзья в икспях работало без кавычек и тайпов...

    Чтобы не звучало голословно, приведите скриншот из Windows XP, где данная команда отрабатывает корректно. Пока получается, только из разряда - "Мойша напел(с)".

    3 марта 2015 г. 11:17
    Отвечающий
  • Скриншот не прикладывается пишет не проверенная учетная запись... Если подскажите как сделать проверянную учетную запись выложу скриншот. Я просто новенький тут... 

    работает копипаст терминала:

    for /F "Tokens=1,2,3,4* delims= " %a in (c:\windows\tabletoc.log) do echo %a
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(822)TabletOC
    tabletsetup.cpp(1407)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1451)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1461)Entering
    tabletsetup.cpp(1481)Entering
    tabletsetup.cpp(1357)DotNetFramework
    tabletsetup.cpp(1481)Entering
    tabletsetup.cpp(1481)Entering
    tabletsetup.cpp(1481)Entering
    tabletsetup.cpp(1481)Entering
    tabletsetup.cpp(1481)Entering
    logmsg.cpp(42)********Terminating
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(835)TabletOC
    logmsg.cpp(42)********Terminating
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(835)TabletOC
    logmsg.cpp(42)********Terminating
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(835)TabletOC
    logmsg.cpp(42)********Terminating
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(835)TabletOC
    tabletsetup.cpp(2223)CreateTutorialShortcut
    tabletsetup.cpp(1909)IsTabletPC
    tabletsetup.cpp(2238)CreateShortcut
    logmsg.cpp(42)********Terminating
    *******Initializing
    *******Version:Major=5,
    tabletsetup.cpp(835)TabletOC
    logmsg.cpp(42)********Terminating

    3 марта 2015 г. 13:50
  • Скриншот не прикладывается пишет не проверенная учетная запись... Если подскажите как сделать проверянную учетную запись выложу скриншот. Я просто новенький тут... 

    

    Добрый день

    Прочитайте, для верификации уч. записи. Используйте ссылку предоставленную Элиной.



    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    3 марта 2015 г. 14:09
    Модератор
  • Я же выше уже писал, что если убрать кавычки все работает. Собственно, как и приведенная команда выше - for /F "Tokens=1,2,3,4* delims= " %a in (c:\windows\tabletoc.log) do echo %a

    Но уверяете Вы нас, что отрабатывает с двойными кавычками - for /f "tokens=*" %a in ("e:\key\LicenseKeys_201531.csv") do echo %a .

    • Предложено в качестве ответа Vector BCOModerator 4 марта 2015 г. 8:25
    3 марта 2015 г. 14:27
    Отвечающий
  • Работает в windows xp без ковычек и с кавычками. просто привычка помещать путь в ковычки.

    в семерке у меня комманда не работает я не понимаю почему в этом и весь вопрос.

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

    3 марта 2015 г. 14:31
  • Перепроверьте, уже по идее можете + можно скинуть скрин на вандрайв либо гугл драйв и прикрепить линку в текстовом виде
    3 марта 2015 г. 14:33
    Модератор
  • Перепроверьте, уже по идее можете + можно скинуть скрин на вандрайв либо гугл драйв и прикрепить линку в текстовом виде
    http://rghost.ru/7yHsWbF2J.view ссылка на картинку в которой окно терминала windows xp
    3 марта 2015 г. 14:41
  • Перепроверьте, уже по идее можете + можно скинуть скрин на вандрайв либо гугл драйв и прикрепить линку в текстовом виде

    http://rghost.ru/7yHsWbF2J.view ссылка на картинку в которой окно терминала windows xp

    Где двойные кавычки? ))
    3 марта 2015 г. 14:45
    Отвечающий
  • Перепроверьте, уже по идее можете + можно скинуть скрин на вандрайв либо гугл драйв и прикрепить линку в текстовом виде

    http://rghost.ru/7yHsWbF2J.view ссылка на картинку в которой окно терминала windows xp


    Где двойные кавычки? ))
    Вопрос в другом в семерке не пашет ни с кавычками не без...
    3 марта 2015 г. 14:46
  • Перепроверьте, уже по идее можете + можно скинуть скрин на вандрайв либо гугл драйв и прикрепить линку в текстовом виде

    http://rghost.ru/7yHsWbF2J.view ссылка на картинку в которой окно терминала windows xp


    Где двойные кавычки? ))

    Вопрос в другом в семерке не пашет ни с кавычками не без...

    Покажите скриншот, что именно не работает.
    3 марта 2015 г. 14:51
    Отвечающий
  • в среду днем сделаю скриншот и покажу. операционная система windows 7 Professional

    3 марта 2015 г. 16:44
  • Выяснилось проблема связана с файлом если файл переписать коммандой type file.csv >> txt.txt то цикл потом с новым файлом нормально работает с чем связано правда не понятно такое поведение программы. но после записи файла таким способом теряется часть данных вобщем непонятно что то неправильно с входным файлом файл скачен с сайта микрософт формат csv но формат странный надо подумать что с файлом сделать.
    4 марта 2015 г. 6:21
  • файл в студию, если он взят с сайта

    в ключах если это они можно сделать замены через автозамену каких то цыфр на какие то

    например 3 на 5, 7 на 2 и тд. что бы ключи не засветить


    4 марта 2015 г. 7:47
    Модератор
  • иЗвините нельзя содержит ключи мягкого))
    4 марта 2015 г. 8:11
  • Понимаете ли формат csv после пересохранения фал меняется... файл взят с сайта микрософт опен лайз просто выгрузка csv я хотел проверять количество активаций MAC ключей скриптом чтобы знать имеет ли место быть использование наших ключей без ведома системного администратора.

    максим

    5 марта 2015 г. 6:44
  • powershell полностью решает эту задачу, только насколько я понял из ваших постов вы хотите ходить по машинкам скриптом и считать лицензии, но при таком не учитываете лицензии которые ушли по домам

    Оптимальным вариантом будет сравнение двух csv за какие то периоды времени, или ведение базы учета

    csv существует множество видов с различными разделителями, кавычками и тд.

    Например офис 2003 сохранял с разделителями ",", а 2007 и более новые версии офиса сохраняют с разделителем ";", и это нужно учитывать

    5 марта 2015 г. 8:06
    Модератор