Неможливо зберегти пакетний файл незабаром після його запуску в Windows 7


5

Я працюю над пакетним файлом у Windows 7 Ultimate. Я використовую блокнот ++ із розширенням runme.

Коли я запускаю пакетний файл і вношу деякі зміни безпосередньо після цього, я не в змозі зберегти .bat файл, тому що Windows каже, що він використовувався іншим процесом.

Тому мені потрібно почекати близько 60 секунд, поки я не зможу відновити файл, щоб перевірити зміни.

Те саме стосується використання вбудованого Блокнота.

Як не дивно, я можу видалити файл .bat безпосередньо після його запуску, але збереження не працює.

Деякі місяці тому, коли я працював над іншим batch-файлом, все працювало нормально.

Чи є спосіб зупинити цю дивну поведінку? Або є хоча б якийсь спосіб побачити, який процес блокує файл?

Відповіді:


7

Рішення

Проблема виникає, коли служба « Досвід застосування» ( AeLookupSvc) вимкнена:

Якщо послугу « Досвід роботи з програмою » було вимкнено, [Windows] Explorer може тривалий час утримувати блокування керованої файлу виконуваного файлу.

Джерело: Помилка інструментів Linker LNK1168

  1. Відкрийте піднесений командний рядок .
  2. Введіть або вставте таку команду:

    sc config "AeLookupSvc" start= demand
    
  3. Перезавантажте Windows.

Додаткова інформація

Послуга «Досвід застосування» ( AELookupSvc) є частиною адміністратора сумісності програм. Він обробляє запити пошуку сумісності програм для програм, коли вони запускаються, надає підтримку комп'ютерам, що працюють у програмах сумісного режиму, звітує про проблеми сумісності та автоматично застосовує оновлення програм до програм.

Служба «Досвід застосування» повинна бути активною для оновлення програмного забезпечення, сумісного з додатком. Ви не можете налаштувати цю послугу; операційна система використовує її внутрішньо. [...]

Якщо ви відключите послугу «Досвід роботи з програмою», служба продовжує працювати, але дзвінки в неї не здійснюються. Ви не можете зупинити фактичний процес.

Служба «Досвід роботи з програмою» налаштована для запуску вручну.

Джерело: Посібник із загроз та контрзаходів: Системні послуги

Сумісність додатків намагається перевірити, чи потрібен файл .EXE для сумісності програм, коли він доступний. Це змушує систему отримати ручку до файлу. Система чекає запит на пошук до служби Application Experience ( AeLookupSvc), але оскільки служба вимкнена, запит не обслуговується вчасно, а файл [не можна отримати доступ], оскільки він використовується. Через дві хвилини запит на чергу до служби « Досвід роботи з програмою» вимикається і відпускається, відпускаючи ручку.

Джерело: Копіювання файлів .EXE може призвести до помилки порушення спільного доступу - папка, що використовується


1
Ого, це вирішило проблему.
evilheinz

1
Я, мабуть, відключив цю послугу в msconfig деякий час тому, коли я перевіряв на непотрібні сервіси. Тепер, коли я це ввімкнув, знову все добре, так!
evilheinz

3
@evilheinz Так, колись помилково відключив ту саму службу, і мені дісталося те саме питання. У будь-якому випадку, якщо ви хочете налаштувати послуги через графічний інтерфейс, уникайте цього msconfig.exeта використовуйте services.mscнатомість. Таким чином, ви не зможете відключити критичні послуги, і ви матимете більш високий контроль над типом запуску та іншими налаштуваннями, тоді як утиліта конфігурації системи може просто відключити або повторно включити послуги.
і31415
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.