Задать вопрос
  • Почему findstr в батнике ведёт себя неадекватно?

    @res2001
    Illium, Модифицировал немного свой вариант.
    Кстати, у себя в вашем варианте спама не обнаружил.
  • Как узнать, какое правило брандмауэра блокирует доступ в другие подсети?

    @res2001
    Хорошо бы узнать какой именно доступ в сеть А вам нужен.
    Сетевые шары, принтера, или доступ к базе данных и т.п. (на самом деле протокол и порт нужны) по этим данным можно определить правило фаервола достаточно легко.
    Раз на линуксе машины доступ имеют, то они, видимо, хотят не того же самого от сети А, что машины на винде.
  • Почему findstr в батнике ведёт себя неадекватно?

    @res2001
    Illium, этот рецепт на StackOverflow - может и делат то что вам нужно, но там много лишнего, имхо.
    На счет ошибки - все просто. Когда findstr не находит указанной строки в выводе ping, она ничего не возвращает, т.е. поток вывода сразу пуст. Но у вас в любом случае вызывается more и она, видимо, такую ситуацию считает ошибкой.
    Можно просто подавить вывод ошибок в more:
    for /f "delims=" %%j in ('more 2^>nul') do
  • Как добавить в цикл поиска несколько названий?

    @res2001
    Если же вариант с атрибутами не прокатывает, то и смысла использовать xcopy то же нет - возвращайтесь к первому варианту и фильтруйте вручную.
  • Как добавить в цикл поиска несколько названий?

    @res2001
    mrusklon, Для исключения есть соответствующий ключ.
    Фильтровать по размеру xcopy не умеет, но есть вариант: xcopy умеет копировать только файлы с установленным атрибутом "архивный". Этот атрибут выставляется в файле при любом его изменении автоматически системой. Соответственно вы можете предварительно на больших файлах снять этот атрибут, а потом натравить xcopy.
    Для поиска больших файлов можно воспользоваться forfiles /?, а для снятия атрибута attrib /?
  • Как добавить в цикл поиска несколько названий?

    @res2001
    mrusklon, Т.к. вы только учитесь чаще запускайте команду с ключом /? там практически вся информация, которую можно по "батанике" найти.
    Будете удивлены, но есть справка и для for, if, ...
    Вот такой скрипт сделает подборку файлов со страницами помощи почти всех команд:
    @echo off
    FOR /F "usebackq tokens=1 eol= skip=1 delims= " %%a IN (`help^|findstr /B /V /C:" "`) DO help %%a >>%%a.txt

    Сохраните в отдельную папку в батник и запустите.
    На самом деле cmd/bat сейчас уже устарели у PoSh гораздо больше возможностей. Хотя я сам так и не добрался до его изучения, видимо потому что хорошо знаю cmd/bat :-)
  • Как добавить в цикл поиска несколько названий?

    @res2001
    xcopy в отличие от вашего варианта умеет воспроизводить дерево каталогов, если задать соответствующие ключи. В этом случае проблема одинаковыми именами отпадает почти полностью. И цикла никакого не нужно - она сама все сделает, и список файлов не нужен то же.
    В вашем варианте из файлов с одинаковыми именами останется только последний, так что у вас эта проблема "замаскирована".
  • Какую литературу выбрать для изучения WINAPI?

    @res2001
    dmshar, я не против, давно в windows.h не заглядывал.
    К тому же кто мешает рассматривать указатель как целое?
    size_t intval = (size_t)handleval;
    Вам сильно помогло знание того что handle это указатель? Я когда-то знал, но за ненадобностью подзабыл.
    Все равно то на что указывает HANDLE вы используете с помощью функций WinAPI. HANDLE - это абстракция для обозначения дескриптора/идентификатора объекта. Он может быть указателем, но запросто может им и не быть.
  • Не хватает пинов в интернет разъёме у роутера. Это критично?

    @res2001
    Runis, Когда подключаетесь к роутеру кабелем, проверьте чтоб в компе в настройках проводного сетевого адаптера было выставлено динамическое получение адреса и DNS.
    Адрес к роутеров всегда в "цифрах", т.к. что бы сделать "буквы" нужна дополнительная настройка. Адреса по умолчанию могут быть разные, но чаще всего - 192.168.1.1, в вашем должен быть такой же, судя по документации.
  • Как запустить 2 vbs скрипта?

    @res2001
    mrusklon, Я тут не надолго выбыл из обсуждения, возвращаюсь.
    За отображение окна отвечает второй параметр в методе Run, поставьте там вместо 0, 1.
    По ссылке в предыдущем моем посте набор документации по WSH (это как раз то, что вы используете), там и метод Run описан и много едругое.
  • Как запустить 2 vbs скрипта?

    @res2001
    mrusklon, Для скрытия окна приложения это, видимо, самый простой способ.
    Не очень понял на каком этапе у вас не работает? Не срабатывает автозапуск когда вставляете флэшку? Вообще автостарт с флэшки включен в винде?
    Может не срабатывать при автостарте из-за того что текущий каталог для скриптов при автостарте может быть не тем, что вы думаете. А у вас повсеместно используются относительные пути.
    Выход из положения - нужно указывать полные пути. Можно отталкиваться от каталога из которого запущен скрипт.
    Пока отлаживайте уберите параметр скрытия окна, пусть окна показываются, и выведите из каждого скрипта текущий каталог, а дальше действуйте по результатам.
    Вывести текущий каталог vbs можно с помощью WScript.Shell.CurrentDirectory
    В батниках - cd без параметров.
    Каталог из которого запущен скрипт:
    в батниках - %~dp0
    в vbs получить полное имя запущенного скрипта: WScript.ScriptFullName, а затем с помощью методов FSO взять оттуда только путь.
    www.script-coding.com/WSH.html
  • Не хватает пинов в интернет разъёме у роутера. Это критично?

    @res2001
    Runis, это был сарказм.
    Ваше последнее сообщение я не могу понят - какой интерфейс, куда вы не заходите, какие цифры. Объясните популярней.

    На счет вашего вопроса - если у вас в разъеме разведено только 4 контакта, значит в роутере точно 100 Мбит и на большее рассчитывать не стоит.
    Прежде чем возвращать, нужно убедится, что все остальное у вас настроено, иначе с другим роутером будет та же петрушка.
  • Как запустить 2 vbs скрипта?

    @res2001
    mrusklon, Способ один - смотреть какие ошибки, сопоставлять с кодом и что-то менять.
    Если есть ошибки, то давайте их сюда, если нет - давайте код вашего vbs.
    И поясните как вы запускаете "в ручную" и как не вручную. Под одним пользователем это происходит или нет.
  • Странная распиновка коннектора витой пары Почему?

    @res2001
    Дмитрий, я и пишу, что "не сильно" и "в общем случае". Для 100 Мбит требования гораздо мягче, и "важность" начинает играть роль на критических расстояниях - когда кабель приближается к 100 метрам (далеко не все коммутаторы и сетевые карты поднимут 1Гбит на 100 метровом кабеле, даже правильно обжатом). А если у вас пачкорд 5-10 метров да еще на 100 Мбит - по фигу.
  • Как запустить 2 vbs скрипта?

    @res2001
    mrusklon, а ну да, строка же, 100 лет уже ВБС в руки не брал:
    WshShell.Run "cscript.exe" & " " & chr(34) & "C:\Users\pavel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WshShell.vbs" & Chr(34), 0
  • Как запустить 2 vbs скрипта?

    @res2001
    mrusklon, вы не так меня поняли, полная строка:
    WshShell.Run cscript.exe & " " & chr(34) & "C:\Users\pavel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WshShell.vbs" & Chr(34), 0
  • Как под windows запустить скрипт, не привязываясь к нему?

    @res2001
    И еще. Вы вызываете tasklist из php, так что один экземпляр php у вас всегда работает - тот из которого вы вызвали tasklist и ваш regexp никак не отбрасывает фильтрует нужные экземпляры.
  • Как под windows запустить скрипт, не привязываясь к нему?

    @res2001
    atomos90, у вас тут от cmd/bat ничего нет, сплошной php. И ждет у вас php, а не cmd. Теги вопроса не соответствуют.
    Для начала уберите >NUL из start - это перенаправление стандартного вывода в NUL, возможно там на экране пишется какая-то ошибка, но вы ее не видите из-за перенаправления.
    Кстати эту задачу можно достаточно легко решить на cmd, собственно вы ее практически так и решаете, только зачем то используете php для проверки существования, когда это же самое может делать и сама утилита tasklist, посмотрите ее ключи и потренируйтесь немного.
  • Почему не выводится кириллица из Си в консоль windows?

    @res2001
    Еще можно перевести консоль в UTF8
    chcp 65001
    и исходники сохранить так же, и включить поддержку Unicode в проекте, и использовать для строковых констант широкие символы (wchar_t), и использовать функции строковые функции для работы с широкими символами.
    PS: Но с UTF8 в консоли есть один толстый нюанс - сама по себе cmd.exe (команданя строка винды) не умеет работать с этой кодировкой.
    PPS: кроме того, стандартная бибилиотека Си то же не дружит с широкими символами. Тут проще перейти на С++, там есть соответствующая поддержка.