Задать вопрос
  • Как написать BAT/CMD скрипт на очистку temp файлов в определенных директориях, при этом внутри темп оставить еще 3 нужные папки?

    @res2001
    forfiles - у вас удаляет все файлы удовлетворяющие "-d -1"

    В for идея правильная, но реализация кривая. Наверное надо так:
    for /f %%C in ('dir /a-d /b /s "%per%" ^| findstr /v /i "\\needfor\\" ') do del /f /q "%%C"

    for не тестировал.
  • Как написать BAT/CMD скрипт на очистку temp файлов в определенных директориях, при этом внутри темп оставить еще 3 нужные папки?

    @res2001
    Все таки powershell или cmd/bat? Это разные вещи. Вы уж определитесь.

    Просто напишите команды удаления файлов в нужных директориях одну за другой. Команды для начала можете отладить в консоли, выдав их в ручную. Из вашего описания проблема не ясна.
    del /f /q c:\tmp1\*
    del /f /q c:\tmp2\*
    ...
  • Как перевести dns кэш windows 10 в понятный вид?

    @res2001
    Боб Семович, Вы бы озвучили вашу задачу.
    Судя по тому что вы пишете вам, видимо, нужен прокси сервер.
    В ДНС кэше записи протухают, так что запись сейчас есть, через пять минут ее может не быть. Гарантий что вы получите какую-то полную информацию нет.
  • Ошибки при регистрации comcntr.dll. Как решить?

    @res2001
    Виталий Гусев, Скопируйте файл локально. regsvr32 сработает на локальном файле?
    У вас AD? Пользователь имеет права локального админа на своем компе?
  • Как перевести dns кэш windows 10 в понятный вид?

    @res2001
    С какими заголовками? При чем тут браузер?
    DNS и его кэш не имеет отношения к браузеру. Это низкоуровневая служба, браузер пользуется ею наравне с любыми другими сетевыми приложениями. Записи в кэше ДНС не обязательно должны быть порождены запросами от браузера. DNS оперирует только IP адресами и доменными именами, о других частях "ссылки" он ничего не знает.
  • Ошибки при регистрации comcntr.dll. Как решить?

    @res2001
    Пользователь из-под которого запускаете regsvr32 имеет доступ к сетевому ресурсу?
  • Как организовать одновременную работу на RDP через VPN и другой программы по удаленному доступу (Anydesk, TeamViewer, Chrome) (VNC не подходит)?

    @res2001
    kaban21, На сколько помню, у вин.сервера немного другое поведение при нехватке RDP лицензий. Он не выкидывает уже подключившихся пользователей, а выдает ошибку новому пользователю и не пускает его.
    Но я уже давно не админил виндовые сервера, что-то могло поменяться.
    Кстати, лицензии на RDP это отдельные лицензии. Т.е. когда вы покупаете Вин.сервер скажем со 100 клиентскими подключениями - это не RDP подключения. Для RDP нужны другие лицензии, которые покупаются отдельно. Помнится, именно лицензии на RDP достаточно легко можно было "накрутить", как сейчас - не знаю.
    Энидеск и тимвивер - не используют RDP и его лицензии и подключаются к уже существующей сессии. Так что, по идее, никого не должны выкидывать. Но это не точно :-) При этом не ясно, что будет, если несколько RDP пользователей захотят использовать энидеск или тимвивер.
  • Как восстановить реестр, если система не запускается?

    @res2001
    Shandy, Видимо у вас достаточно свежее железо, а, как я писал выше, автор давно не обновлял свой конструктор. Там, кстати, у него 2 набора, один основан на WinPE10, второй на WinPE5. Второй он обновлял в 20, а WinPE10 в 18. Если вы использовали WinPE10, можете попробовать WinPE5 (или наоборот).
    Лично я не сталкивался с синим экраном при использовании adminpe.
    Можете поискать другие альтернативы, которые регулярно обновляются. Они есть.
  • Как правильно написать скрипт регистрации comcntr.dll при авторизации в системе?

    @res2001
    Виталий Гусев, Думал вы в курсе, что regsvr32 надо из-под админа запускать :-)
    У вас же GPO, назначьте сценарий не на пользователя, а на компьютер в домене, если есть возможность. Тогда он выполнится с админскими правами. Тут я не в курсе, давно уже АД в руках не держал.
  • Как восстановить реестр, если система не запускается?

    @res2001
    Возьмите любой конструктор для изготовления диагностической загрузочной флешки. Там обычно в составе есть инструменты для работы с реестром "удаленной" винды. Сделайте загрузочную флешку, загрузитесь с нее и импортируйте reg файл. Раньше я пользовался для подобных целей набором adminpe, но автор что-то давно не обновлял его, хотя для ваших целей он вполне сгодится. Такие конструкторы есть в интернете, погуглите.
    Нужен будет, конечно, второй работающий компьютер с виндой, ну и флешка.
  • Как создать указатель на вводимый текст?

    @res2001
    Borton1, Тут вопрос в приоритетах и задачах тех кто платит деньги. Если бы всегда было можно ковыряться с задачей на ассемблере столько времени сколько нужно, то и Си возможно не появился бы. Я уж не говорю о питоне и т.п. :-)
    Кстати, на счет питона. На сколько я знаю тензорфлоу для питона написан на плюсах. Так что скорость он может выдавать вполне приемлемую и не факт, что у вас получится лучше и быстрее на чистых плюсах решить задачу.
    В питоне, кстати, много хороших и быстрых библиотек для расчетов.
    При желании можно написать собственный модуль на С/С++.
    У питона свои недостатки - кривая многопоточность, например. Но это можно частично обойти при необходимости.

    В общем С/С++ для чего-то быстрого и низкоуровневого. Потом это быстрое и низкоуровневое заворачивают в оболочку для использования в интерпретируемых языках и уже из них используют. Это нормальный подход во многих задачах. И это достаточно интересное направление - связка С/С++ и интерпретируемых языков.

    Но есть сферы, где С/С++ в приоритете - ядра ОС, загрузчики, МК, прочий ембедед.
  • Как правильно написать скрипт регистрации comcntr.dll при авторизации в системе?

    @res2001
    Виталий Гусев, Батником можно проверить есть какая-то ветка в реестре или какие-то значения. Нужно только выяснить что туда пишется при регистрации - просто поищите в реестре по имени библиотеки. СОМ объекты регистрируются в ветку HKLM/Software/Classes/CLSID.
    В пользовательском разделе реестра то же есть аналогичная ветка.
    Для работы с реестром из батника можно использовать команду reg: reg /?

    Можно сделать по другому: каждый раз сначала удалять регистрацию и потом повторно регистрировать. Тогда возможно ошибок не будет.
  • Как правильно написать скрипт регистрации comcntr.dll при авторизации в системе?

    @res2001
    Виталий Гусев, Зачем вызывать regsvr32 второй раз? Один раз зарегистрировал и хватит. Обычно это так работает.
    Так же можно, например, проверять зарегистрированы ли уже объекты из comcntr или нет. И если нет, то вызывать регистрацию. Так же можно придумать что-то и при смене версий - удалять старую регистрацию и регистрировать новую библиотеку.
  • Как создать указатель на вводимый текст?

    @res2001
    Borton1, Потому что производительность это не единственный критерий. На С++, а уж тем более на Си, возится с реализацией вы будете дольше, чем на питоне. Даже зная теорию и используя готовые библиотеки.
  • Как создать указатель на вводимый текст?

    @res2001
    Borton1, Скажем так. Это другое программирование. В С/С++ вы ближе к железу и ОС и надо лучше понимать как оно там все работает, иначе толку не будет.
    В любом случае, нет настоящего или не настоящего программирования, для каждой задачи свой инструмент. Язык - всего лишь инструмент.
    Если бы вы занимались разработкой ИИ, то питон или какой-нибудь R для вас был бы самое то.

    я решил использовать realloc()

    Раз уж вам нравится Си, то сообщаю, что операции выделения/освобождения динамической памяти очень дорогие в плане производительности. Поэтому надо очень аккуратно с ними обращаться.
    Для вашей задачи лично я бы, конечно, не стал использовать getchar и посимвольный ввод. Я бы выделил 1 большой буфер (его можно выделить на стеке в автоматическом массиве, надо учитывать что размер стека ограничен) в него читал, затем обрабатывал буфер, если нужно - повторное чтение в тот же буфер. realloc как и хранение всего ввода для вашей задачи избыточно.
  • Как сохранить значения нескольких переменных в С++ 17?

    @res2001
    mayton2019, Можно было. Но тогда не было семантики перемещения и возвращаемые объекты копировались, а это дополнительные не нужные накладные расходы. Так же не знаю, что тогда было с RVO оптимизацией, думаю, что она тогда работала хуже, чем сейчас.
  • Как сохранить значения нескольких переменных в С++ 17?

    @res2001
    Никита Савченко, Нет лучшего ответа. Это нормально. И передача параметров по ссылке и возврат объекта - вполне рабочие варианты. В разработке часто надо будет выбирать из нескольких вариантов применительно к конкретной ситуации.
    В вашем конкретном варианте я бы взял или ссылки или вариант от Adamos
    Если бы параметров для ввода было 100, то больше бы подошел возврат объекта, а так же вариант от Adamos :-)
    Так что берите вариант от Adamos
    В целом совет mayton2019 про самый простой вариант очень дельный. Всегда надо его придерживаться, если против простого варианта нет веских аргументов.
  • Как создать указатель на вводимый текст?

    @res2001
    Borton1, Ну вот уже и с задачей определились :-)
    Да это обработка. Можно использовать getchar в вашем случае. И вам не понадобится никакой буфер для чтения в этом случае. Вам нужно объявить
    int count[255] = {0};
    Затем в цикле, используя getchar читаете очередной символ, этот символ будет индексом для массива. Инкрементируете соответствующий элемент массива count для подсчета символов. Переходите к чтению следующего символа. Единственный момент, видимо, надо предусмотреть возможность выхода из цикла, например, когда пользователь нажмет Enter.
    После завершения цикла распечатываете все элементы массива count, которые >0.
    Индекс массива - это код символа, значение элемента массива - количество символов.