Не выполняются bat файлы

Обновлено: 03.07.2024

Если у вас есть файл .BAT, и вы пытаетесь настроить его автоматический запуск с помощью планировщика задач в Windows, вы можете столкнуться с проблемой, когда он просто не запускается, если вы не запускаете задачу вручную.

Я создал командный файл, который удаляет все файлы из временной папки при каждом запуске компьютера. Я создал основную задачу в планировщике заданий и надеялся на лучшее. К сожалению, ничего не произошло, когда мой компьютер загрузился. После долгих проб и ошибок я понял, как запустить скрипт.

В этой статье я расскажу вам о настройках и разрешениях, которые необходимо настроить, чтобы ваш пакетный файл работал без ручного вмешательства.

Шаг 1. Проверьте права доступа к файлам и папкам

Первым шагом к решению этой проблемы является обеспечение того, чтобы учетная запись, используемая для запуска сценария в планировщике заданий, имела разрешения «Полный доступ» для папки, содержащей сценарий, самого сценария и любых папок / файлов, к которым сценарий обращается при запуске.


Как видите, учетная запись пользователя Aseem была явно добавлена ​​и получила разрешение «Полный доступ». Теперь вы должны сделать то же самое для папки, содержащей скрипт, и для самого скрипта. Не думайте, что если вы дадите разрешения папке, в которой находится скрипт, вам будет удобно, потому что это не так. Наконец, установите разрешения для любых файлов и папок, с которыми будет взаимодействовать скрипт.

В моем случае мне нужно было перейти в C: test, щелкнуть правой кнопкой мыши по этой папке и добавить туда свою учетную запись с разрешениями «Полный доступ». Это немного раздражает, когда вы делаете это, но это единственный способ запустить скрипт.

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

Шаг 2. Проверьте настройки планировщика заданий

Теперь давайте перейдем к планировщику заданий и изменим там соответствующие настройки. Откройте планировщик задач и найдите свою задачу в разделе «Активные задачи». Они должны быть перечислены в алфавитном порядке.


Дважды щелкните по нему, и он сам откроет задачу в том же окне. Чтобы отредактировать задачу, вам нужно щелкнуть ее правой кнопкой мыши и выбрать «Свойства».


Здесь есть несколько вкладок, и пару вещей нужно проверить и изменить здесь. Во-первых, на вкладке Общие необходимо проверить учетную запись пользователя, которая используется для запуска задачи. В моем случае это учетная запись Aseem, которой я ранее дал разрешения в файловой системе и которая входит в группу администраторов на компьютере.


Далее необходимо выбрать параметр «Выполнить» независимо от того, вошел пользователь в систему или нет, и выбрать Windows Vista, Windows Server 2008 в поле «Настроить для».


На вкладке «Действия» необходимо выбрать сценарий, нажать «Изменить», а затем добавить путь к папке, содержащей сценарий, в поле «Начать с (необязательно)». Это может показаться ненужным, но это не так. В моем случае я поставил в поле C: Users Aseem Documents .

Теперь нажмите OK, чтобы сохранить настройки. Когда вы это сделаете, может появиться диалоговое окно, в котором вы должны ввести пароль для учетной записи пользователя, которая будет запускать задачу. Это выдвигает другое требование. Вы не можете использовать учетную запись, которая не имеет пароля. Учетная запись пользователя должна иметь пароль для запуска задачи.


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


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

. а вместо этого открывается в текстовом редакторе! В простом Виндовом проводнике и картинка *.bat файла точно такая же как и простой *.txt-шки. (В Тотал Коммандере же отображается как и положено)

П.С. Вышеописанное относится не только к созданным мною батникам, но ко всем без исключения!
П.П.С.: На другом форуме мне посоветовали следующее:

Чтобы восстановить запуск bat-файлов, нужно создать reg-файл(например bat_restore.reg) следующего содержания:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile]
@="Пакетный файл MS-DOS"
"EditFlags"=hex:30,04,00,00

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00


A затем запустить его.

Блин ну ничего не помогает!
Всеравно открывает в текстовом редакторе.

. а вместо этого открывается в текстовом редакторе! В простом Виндовом проводнике и картинка *.bat файла точно такая же как и простой *.txt-шки. (В Тотал Коммандере же отображается как и положено)

П.С. Вышеописанное относится не только к созданным мною батникам, но ко всем без исключения!
П.П.С.: На другом форуме мне посоветовали следующее:

Чтобы восстановить запуск bat-файлов, нужно создать reg-файл(например bat_restore.reg) следующего содержания:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile]
@="Пакетный файл MS-DOS"
"EditFlags"=hex:30,04,00,00

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00


A затем запустить его.

Блин ну ничего не помогает!
Всеравно открывает в текстовом редакторе.

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

Задача в том, что нужно удалять старые (3х дневные файлы) из определенной папки, как только они устареют.

Скрипт в Windows PowerShell ISE его содержание: (файл tt.ps1)

$Files = Get-Childitem $TargetFolder -Recurse | Where

foreach ($File in $Files)

if ($File -ne $NULL)

write-host "Deleting File $File" -ForegroundColor "DarkRed"

Remove-Item $File.FullName | out-null

Write-Host "No more files to delete!" -foregroundcolor "Green"

Содержание BAT файла:

%SystemRoot%system32windowspowershellv1.0powershell.exe -command “c:tt.ps1”

Запуская сценарий tt.ps1 из Windows PowerShell ISE, файлы удаляет.

Запуск батника этого не делает.
Путь в батнике к PowerShell верный, проверял не раз

Прошу помощи, заранее благодарю.

Для минусов внутри.

Прошу помощи, не срабатывает .bat Без рейтинга, Программист, IT, Удаление файлов, Тыжпрограммист

В таком состоянии уже 4й час)


Лига программистов

363 поста 6.3K подписчиков

Правила сообщества

Правило 0. begin

Правило 1. Пост не относящийся к программированию или, хотя бы, к IT-индустрии - исключается из сообщества.

Правило 2. При публиковании поста ставим корректные теги, передающие смысл публикации.

Правило 3. end.

Ух ты! Использовать батник для запуска ps1-скрипта для удаления файлов.

Мож проще самим батником прибивать?

Forfiles -p "c:\test" -s -m *.* -d -3 -c "cmd /c del /q @path"

powershell.exe "-executionpolicy bypass -file c:\tt.ps1"

Стопроцентов кодировку файла смотри. Открой в akelpad и установи cp866 сохрани и выполни.

Я в it вообще дуб и далек от этого, но однажды понадобился батничек на автозапуск
так я даже проверить его не мог, не работает и все тут
пока я его с рабочего стола не убрал - нихрена он не работал, кинул толи в папку автозапуска, толи на не системный диск с ярлыком в автозапуске - вот тут уже не помню как выстрел наугад, \t воспринимает как таб. как решение 2 слэша напиши

Используй переменную пути

%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -command %pathdir%

Да, и лучше не *.bat файл создавать, а *.cmd. Для теста выставить в свойствах — запускать от имени администратора.

Таже фигня. Работает если c:\tt.ps1 без кавычек

это здесь слеш режется или у тебя путь так и прописан? оставь в батнике просто

powershell.exe "-executionpolicy bypass -file c:\tt.ps1"

Планировщик умеет сам в повершелл. Без всяких батников.

pause в конце добавь, увидишь что не нравится


Когда решил вкатиться в IT сразу после шараги

Когда решил вкатиться в IT сразу после шараги IT, Программист, Авито, Объявление, Юмор, Программирование, Гопники, Повтор


Будни программиста

Будни программиста IT, IT юмор, Программист, Javascript


Работа в Германии (часть 1)

Недавно выложил видео про работу в Германии - нажать тут

Не всем зашел такой формат - народ хочет текстом :) Ну, в конце концов, почему бы и нет.

Германия неслучайно так привлекает наших людей, ведь она является одной из самых богатых стран в Европе – с хорошими зарплатами (обсуждаемо :) и высоким уровнем жизни. Давайте же разберемся, насколько это сложно найти здесь работу.

Прежде всего нужно учесть, что молодым немцам лень постигать азы программирования и прочих наук, а значит, в Германии существует спрос на опытных инженеров, врачей, математиков и программистов. Нас естественно интересуют, хоть я и не люблю это слово - айтишники. Это не только разработчики, но и все кто каким-то образом связан с компьютерами.

Итак, как искать работу. Есть несколько способов. Кстати может для кого-то я сейчас буду рассказывать примитивные вещи и вы скажете, а зачем ты это нам рассказываешь, это все знают, давай что-то новое. Но я считаю, что лучше я еще раз всё расскажу, может кто-то не знал.

Итак, самый простой способ - специальные социальные сети, например LinkedIn.

LinkedIn - это социальная сеть в основном для контактов по поиску работы. Это международный вариант. Вы будете получать предложения о работе со всего мира.

Есть также местный немецкий вариант - Xing. Как это работает. Регистрируетесь, и честно указываете вашу квалификацию. Конечно, все немного хитрят и чуть-чуть ставят получше чем есть. Об этом все знают и рекрутеры и на фирмах. В принципе это не так страшно если знать меру. Если совсем зарваться и потом это выяснится - можете попасть в черные списки ну и. оно вам надо?

Кстати даже если у вас не получится через эти сети что-то путное найти, хотя это и маловероятно, ваш account будет просмотрен потенциальным работодателем в последствии. Поэтому заполняйте его очень и очень тщательно. В профиле укажите компании где вы работали, ваше образование, квалификацию и владение языками.

Следующий способ - самому идти на сайты где фирмы и рекрутеры выкладывают вакансии.

Третий способ - заходите на сайты крупных фирм (которые вы знаете) в раздел "карьера".

Кстати в Германии есть сайт где можно нарыть информацию и отзывы о потенциальном работодателе. Да да, и такое есть. Называется Kununu. Там собирается анонимная информация о фирмах. Какие зарплаты, какая атмосфера, что плохо или хорошо если вы будете там работать. Наверняка отзывы будут на немецком, но google translator никто не отменял, если ваш немецкий еще не такой хороший

Ну хорошо, скажете вы, а неужели немецкий рынок никак не защищен от интервентов вроде нас? Еще как защищен. Каждая немецкая компания которая хочет взять кого-то из-за границы ЕС должна доказать что никого подходящего рядом, в ЕС, нет.

Но тут нам, как IT-шникам приходит на помощь такая штука как BlueCard.

Голубая карта – разрешение на работу специалистам из стран, не входящих в ЕС.

Для чего же эта Голубая карта нужна? А нужна она для того, чтобы фирмам упростить прием на работу тех групп людей, профессии которых сейчас востребованы в Германии. Т.е. тем же фирмам не нужно доказывать, что они не нашли никого рядом поэтому хотят взять вас. Кстати BlueCard не только для It-шников, там довольно много профессий.

Конечно есть и определенные требования к соискателю: высшее образование (признанное в Германии), контракт с немецкой фирмой, минимальная з.п. В 2021 году она составляет для нашей професии 44.304 евро в год.

Итак, если вы нашли список фирм или рекрутеров с которыми хотите работать, самое время подготовить документы.Начинается всё с биографии - по-немецки Lebenslauf

В интернете набираете и смотрите примеры или даже шаблоны для MS Word.

Много писать там не нужно - одна страница максимум. Т.е. это такая выжимка вашего резюме.

Образование, места работы и чем занимались, знание языков. Обычно есть еще и коротенькое письмо где вы как-бы обращаетесь к отделу кадров с описанием кто вы и почему вы хотите работать у них.

Добрый день дамы и господа. Меня зовут Вася Петров. Я программист с 3 летним опытом работы в такой-то области. Нашел эту вакансию на сайте stepstone и очень заинтересовался ей, так как обладаю всеми теми знаниями которые требуются в этой вакансии. Более того уверен что смогу применить весь мой опыт накопленный за это время.

И так далее. Коротенько, пару абзацев будет достаточно.

Итак письмо, биография и резюме.

Кстати обычно и фотография там есть. Нет это не обязательно, никто вас заставить не может, но обычно все присылают. Не лишним будет приложить ваши атестаты и дипломы.

Они конечно должны быть переведены на немецкий или на англ. язык.

Кстати немецкие оценки отличаются от наших. Тут все наоборот: 1 - это отлично, т.е. наша пятерка, 2 - это хорошо, т.е. четверка и т.д. где 5 это самая плохая оценка.

При переводе лучше избежать оценок цифр и написать отлично, хорошо и т.д. ну или рядом написать. А то представьте шок в отделе кадров где у соискателя все пятерки (самая низшая оценка)

Ну вот отправляете это все дело причем только PDF никаких Word или картинок.

И ждете. Ждете долго, неделями. Тут это дело иногда так долго длится.

Отослав одно, отправляете в другую фирму и т.д. Чем больше отправите тем больше шансов. Цифра 50 отправленных резюме не должна вас пугать. В Германии это нормально.


Документация = Листок + Карандаш + Разработчик

Документация = Листок + Карандаш + Разработчик IT юмор, IT, Комиксы, Программист


Почему Авито постоянно ищет программистов?

Работаю айтишником. Постоянно в течение многих лет каждую неделю стабильно получаю по несколько предложений от рекрутеров авито, зовут к себе работать. Не иду, так как на нынешней работе всё устраивает. Не понимаю, почему у них постоянно потребность в кадрах, куда им столько народа, почему туда постоянный набор? Туда берут только лучших из лучших из лучших?? Такая же тема со сбербанком и деливери клаб. Знающие люди, кто там работал или кто в теме, объясните пожалуйста!


Торт на ДР программиста

Торт на ДР программиста Картинки, Юмор, IT юмор, Программист, IT, Торт, Программирование

Спешка в IT

Спешка в IT Игра слов, Каламбур, Странный юмор, Тонкий юмор, IT юмор, Картинка с текстом, Программист, IT, Frontend

Каламбургерная в инстаграм: shutka.nomer

Как преподаватель помог реализоваться

Когда я только поступил в универ, у нас был предмет, где изучали программирование. Точного названия не помню.

На каком-то из занятий преподаватель задал написать простенький сайт.

Лет с 14-15 я начал увлекаться программированием. Причиной тому стало, что я устал играть на официальном сервере игры, т.к. как всегда всё зависело от того, сколько ты туда денег вложишь.

В какой-то момент мне надоело регистрировать игроков вручную и я стал изучать как сделать так, чтобы они сами регистрировались. Тут-то я и начал изучать программирование.

В последствии, года через 2 я написал красивый сайт, с большим функционалом(на тот момент для меня это было прямо ВАУ).

Этот сайт я и показал преподавателю. Он на меня так искоса посмотрел, типа "Ага, сам написал". И начал расспрашивать что за функции и что они значит. Вопросов 5-6 было, всё объяснил. Он посмотрел на меня с уважением и сказал: Можешь больше на мои занятия не ходить. Ты тут ничему новому не научишься. А если хочешь подзаработать, то у универа есть задача, которую надо решить.

Таким образом, преподаватель дал мне первую оплачиваемую задачу по программированию, дал мне уверенность в себе и своих умениях.

В итоге, задачу я выполнил, он её принял. Оплатили мне выполнение этой задачи(14 т.р., что для студента ого-го какие деньги). С тех пор я начал искать работу именно как программист и вполне успешно зарабатываю на своём хобби.

Большое спасибо, Валерий Александрович из СПбГУТ


Тыжпрограммист

Служил в 93-95 лейтенантом в Прикарпатье (забрали с завода). В дивизии треть офицеров были II сорта, то бишь лейтенанты на 2 года. Вызывает к себе командир полка и ставит задачу - с него требуют откомандировать в распоряжение штаба округа специалиста по компьютерам и программному обеспечению на трое суток. Ладно. Еду из Яворова во Львов (6 часов автобусом), докладываю, получаю задание выехать в в/ч ХХХХХХ и дать заключение, почему внедренная вычтехника выходит из строя. Пытаюсь майору объяснить, что я программер и в ремонте вычтехники ничего не понимаю. Получаю разгон и команду "кругом - исполнять".

Сутки сижу в приемной отдела кадров - они проверяют подлинность моих документов, чтоб не дай бог шпиену не выдать где эта самая в/ч ХХХХХХ. Hаконец убедились, сказали как доехать. Оказалось, это дивизион 100м от нашего полка. Еду обратно в Яворов, иду в дивизион. Там уже ждут проверяющего из округа (это меня), проверять буду Серегу, лейтенанта из соседней комнаты в офицерском общежитии, программера-двухгодичника из Томска. Внедренная вычислительная техника оказалась калькулятором МК с прошитой программой, который крепился на крышку танкового люка с внутренней стороны (в специальном пластмассовом кармашке).

А выход ее из строя выглядел так: оттренированный прыгать в танк за 4 сек. боец вдребезги разбивал "кампутер" головой, захлопывая за собой люк. Потому что тренировали его, ессно, без каски - чтоб точно знал, что люк захлопывается с силой и влет, и голову надо нагибать. И потому что нагибал он голову, ессно, так чтоб люком по голове не било - не больше. И на учениях или при проверке, когда каска обязательно на голове, калькулятор попадал в тот самый зазор между каской и люком.

У истории два конца:

1) два программера с верхним образованием составили бумагу - заключение о причинах выхода из строя вверенной вычислительной техники и свои рекомендации: место для крепления техники сдвинуть вправо на 12.5 см. И получили заключение технической комиссии, что "полевые испытания в ротных учениях показали устойчивую работу выч.техники в боевых условиях. причина выхода из строя ликвидирована"

2) майор из отдела кадров, прочитав отзыв о командировке, проворчал: "Ох уж эти штатские, говорил, что в оборудовании ничего не понимаешь. "

Чтобы увидеть ошибки в синтаксисе, которые приводят к критическому завершению Batch-файла,
необходимо запустить его из CMD.exe (интерпретатора).

Как?
Этап 1. Подготовка:
Если у Вас в скрипте указана директива для скрытия вывода выполняемых команд:

Она обычно идет первой строкой в коде.
- Удалите ее, или закомментируйте:

иначе будет сложно определить, какая команда вызывает "падение" скрипта или ошибку.

Этап 2. Выполнение скрипта с перенаправлением вывода в файл протокола

Вариант 1. Для систем Windows XP и ниже:

ПУСК -> Выполнить (либо Win + R), вводим CMD, нажимаем

Откроется маленькое черное окно - консоль.
В нем Вы увидите путь к каталогу, в котором будут выполняться команды в данный момент.
Вам нужно перейти в каталог, где расположен бат-файл.
Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команды:

(ввод каждой строки подтверждаем клавишей )

После ввода первой строки Вы увидете на экране приглашение вида:
c:\temp>
что свидетельствует об успешном переходе в каталог c:\temp

Вариант 2. Для систем Windows Vista и выше (переход в папку с батником сразу):

1. Перейдите на уровень выше от каталога, где находится Batch-файл
(иными словами: Вам нужно видеть пиктограмму значка папки, в которой находится Batch-файл)
Если Вы видите перед собой сам Batch-файл, достаточно нажать BackSpace (кнопка "стирания").

2. Наведите указатель мыши на папку с Batch-файлом.
Нажмите и удерживайте кнопку "Shift". Вместе с этим нажмите правую кнопку мыши.

3. Выберите пункт "Открыть окно команд".

Comm_Window.jpg

Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команду:

Этап 3. Анализ файла-протокола.

После завершения работы Batch-файла в папке C:\temp будет создан файл log.txt
Передайте его специалистам, либо при наличии достаточного опыта проведите анализ самостоятельно.

Этап 4. (опционально)
Если бат-файл содержит цикл или является очень большим, полезным также будет подготовить лог уже с командой @echo off
Добавьте ее в самое начало кода и повторите всю процедуру.

Альтернатива вызову батника из-под интерпретатора.
В самом начале кода пишем:

Читайте также: