Если файл не существует удалите эту ссылку
Я пишу make-файл, который очистит некоторые ненужные файлы в конце компиляции. Если цель уже была создана, она, конечно, пропустит эту цель, и бесполезный файл может не оказаться там. Так что, если я сделаю это:
Я могу получить ошибки, потому что один из файлов не существует. Есть ли способ сказать rm игнорировать эти файлы?
Читая справочную страницу, я вижу следующую опцию:
Это звучит почти как то, что я хочу, но я не совсем уверен в части разрешений. Есть ли способ сделать это?
Опция -f определенно то, что вы хотите использовать.
Подтверждение о разрешениях файла, на которые оно ссылается, таково:
Поэтому rm предупредит вас, если вы попытаетесь удалить файл, для которого у вас нет прав на запись. Это разрешено, если у вас есть права на запись в каталог, но это немного странно, поэтому rm обычно предупреждает вас об этом.
Просто добавьте оператор OR после вашей команды:
Таким образом, когда оператор № 1 не выполняется (выдает ошибку), запустите оператор № 2, что просто true .
Я опаздываю на вечеринку, но я использую это все время. В make-файле добавьте - в начало строки, чтобы игнорировать возвращаемое значение этой строки. Вот так:
Если вы не хотите использовать опцию -f, альтернативой является:
Это только предотвратит печать ошибок.
Если вы найдете способ обуздать имена файлов, rm не будет жаловаться, если не сможет найти совпадение. Так что что-то вроде lexer.m* interpparse.* т.д. Должно работать на вас (будьте осторожны, вы не слишком много удаляете , конечно). Кроме того, -f - это вполне разумный способ, если вы не надеетесь, что права доступа к файлам избавят вас от удаления файла, который вы не хотели - если вы не хотите его удалять, не делайте Поместите это в список.
Опция -f означает, что вам не будет предложено, если что-то не так, как ожидалось. Это не значит, что разрешения не учитываются.
Если у вас недостаточно прав для удаления файла, он не будет удален.
НО, если у вас достаточно привилегий для изменения привилегий, ваш файл будет удален. Это тот случай, когда вы являетесь владельцем файла с правами только для чтения для владельца (-r --------). Как владелец, вы можете chmod u+w , а затем удалить его: rm -f удалит этот файл.
Исправляем проблему «Не удалось найти этот элемент»
Каждый из способов по отдельности может сработать, но какой именно сработает в вашем случае заранее сказать нельзя, а потому начну с самых простых методов удаления (первые 2), а продолжу более хитрыми.
- Откройте папку (расположение элемента, который не удаляется) в проводнике Windows и нажмите клавишу F5 на клавиатуре (обновление содержимого) — иногда уже этого достаточно, файл или папка просто пропадет, так как действительно отсутствует в этом расположении.
- Перезагрузите компьютер (при этом выполните именно перезагрузку, а не завершение работы и включение), а затем проверьте — не исчез ли удаляемый элемент.
- Если у вас есть свободная флешка или карта памяти, попробуйте перенести тот элемент, который «не найден» на неё (перенос можно осуществить в проводнике перетягиванием мышью с удержанием кнопки Shift). Иногда это срабатывает: файл или папка исчезает в том расположении, в котором располагались и появляется на флешке, которую затем можно отформатировать (при этом с неё исчезнут все данные).
- С помощью любого архиватора (WinRAR, 7-Zip и т.д.), добавьте этот файл в архив, при этом в опциях архивирования отметьте «Удалять файлы после сжатия». В свою очередь сам созданный архив удалится без проблем.
- Аналогично, часто не удаляемые файлы и папки легко удаляются в бесплатном архиваторе 7-Zip (он может работать и как простой файловый менеджер, но по какой-то причине у него получается удаление таких элементов).
Как правило, один из 5 описанных способов помогает и использовать программы наподобие Unlocker (которая в рассматриваемой ситуации не всегда эффективна) не приходится. Однако, иногда проблема сохраняется.
Дополнительные методы удалить файл или папку при ошибке
Надеюсь, один из вариантов оказался работоспособным в вашей ситуации и ненужное было удалено.
- Перемещено osr_ MVP 27 декабря 2009 г. 18:48 (От:Объявления)
Все ответы
Вполне закономерный результат использования программ чистильщиков реестра и аналогичных оптимизаторов.
Можно попробовать восстановиться через восстановление системы,но шанс мизерный.
CCleaner - убивает ОС безвозвратно,имею собственный горький опыт :).
Выход-переустановка ОС.
Воспользуйтесь Восстановлением системы (All Programs - Accessories - System Tolls - System Restore) и верните состояние системы к ближайшей точке восстановления, до "чистки реестра".
Пункт первый, если применяли CCleaner, то перед удалением записей программа просила сохранить записи реестра, если вы ответили положительно, то в ней же можно произвести восстановление реестра до времени очистки. Пункт второй, уже рассказали, это попробовать восстанивить систему по точкам восстановления, но похоже у вас там есть проблеммы, и третий - вставить диск попробовать восстановить системные файлы, либо переустановить систему, предварительно сохранив нужные файлы.
Резервная копия сохранилась, но через CCleaner я ее не могу загрузить, т.к. не могу найти куда надо загузить файл. (я пока в этом плохо разбираюсь. ) Пробовала импортировать через Reg Organizer, пишет что файл импортирован, но не помогает. По точкам восстановления пишет что Восстановление отменено, из-за ошибки (не пойму что там за ошибка могла произойти). раньше всегда нормально все восстанавливалось. А как можно восстановить системные файлы? Напишите пожалуйста подробнее. И где их можно скачать, т.к. диска у меня нет.. ПЕРЕУСТАНАВЛИВАТЬ ПОКА КАК-ТО НЕ ХОЧЕТСЯ, МОЖЕТ МОЖНО БУДЕТ ТАК РАЗОБРАТЬСЯ. ЗАРАНЕЕ БЛАГОДАРНА ЗА ОТВЕТ. ВСЕМ СПАСИБО :)
По умолчанию CCleaner сохраняет файл удалённых веток реестра в Документах, он должен быть похож на Это -сс_20091224_184251.reg (циферки - это дата и время очистки). Если он там есть, то кликните правой кнопкой и из контекстного меню и выполните - Слияние, потвердив права администратора, но предварительно, сохраните необходимые ваши файлы на внешний носитель в случае, если всё же потребуется переустановка, поскольку впоследствии, вы описали некую последовательность ваших действий, после которых переустановка более вероятный исход событий.
По умолчанию CCleaner сохраняет файл удалённых веток реестра в Документах, он должен быть похож на Это -сс_20091224_184251.reg (циферки - это дата и время очистки). Если он там есть, то кликните правой кнопкой и из контекстного меню и выполните - Слияние, потвердив права администратора, но предварительно, сохраните необходимые ваши файлы на внешний носитель в случае, если всё же потребуется переустановка, поскольку впоследствии, вы описали некую последовательность ваших действий, после которых переустановка более вероятный исход событий.
Пуск -> выполнить -> regedit
В программе стелать поиск Win.exe - и удалить нужные ссылки Green Рент ИТ
Переустановка скорее всего неизбежна - поломать систему "чистильщиком" очень просто, а починить обратно крейне сложно (и те кто реально могут ее починить никогда "чистильщик" не запустят ибо знают что это не только совершенно бесполезно но и крайне опасно).
То же самое касается запуска regedit и удаления произвольных записей - тоже очень опасно, только очень продвинутые пользователи могут делать нечто подобное. Для рядового пользователя максимум что можно делать с regedit - следовать зарание написаной инструкции которая включает в себя опции отката.
This posting is provided "AS IS" with no warranties, and confers no rights.
Не удалось найтиимя файлаC:\ .xls. Проверьте правильность написания имени файла и расположения файла. Если вы пытаетесь открыть файл из списка наиболее часто используемых файлов в меню файл, убедитесь, что файл не был переименован, перемещения и удаления.
Причина
Это может происходить, если действия "Открыть" для этого типа файлов заканчивается на %1.
Если действие открыть для файла данного типа изменено и строка сохранена перед нажатием кнопки ОК, %1 добавляется в параметр реестра.
Если %1 намеренно добавить действия "Открыть" для этого типа файлов, %1 добавляется в параметр реестра. При дальнейшем %1 удаляется из действия "Открыть", параметр реестра остается неизменной и необходимо изменить вручную.
Кроме того эта проблема может возникнуть при изменении вручную сопоставления файлов XLS-файлов или в некоторых случаях при запуске на одном компьютере несколько версий Excel.
Решение
Чтобы устранить эту проблему, установите последние накопительные обновления для Microsoft Office Excel. Последние накопительные обновления можно найти, щелкнув следующую ссылку:
953878 накопительного обновления доступны из группы Microsoft Office для предоставления исправления для проблем, о которых сообщалось в
Временное решение
Важно. Этот раздел, метод или задача содержат действия, содержащие указания по изменению реестра. Однако, при некорректных изменениях реестра могут возникнуть серьезные проблемы. Поэтому выполняйте следующие действия внимательно. Для дополнительной защиты сделайте резервную копию реестра перед внесением изменений. В таком случае при возникновении неполадок можно будет восстановить реестр. Чтобы узнать дополнительные сведения о резервном копировании и восстановлении реестра, щелкните следующий номер статьи базы знаний Майкрософт:
322756 как резервное копирование и восстановление реестра Windows
Чтобы обойти эту проблему, выполните следующие действия.
В поле Открыть введите команду regedit и нажмите кнопку ОК.
Откройте следующий раздел реестра:
В области справа выберите (по умолчанию).
В меню Правка выберите команду Изменить.
Удалите %1 из конца строки значение таким образом, чтобы строка данных выглядела следующим образом:
«C:\PROGRAM OFFICE\OFFICE\EXCEL. EXE" /e (включая кавычки)
Дополнительные сведения
Примечание. В некоторых версиях Windows, описанные действия могут существенно отличаться от того, что написано в данной статье. Если это так, обратитесь к документации продукта для выполнения этих действий.
Чтобы изменить действие открыть тип файла, выполните следующие действия.
Запустите проводник Microsoft Windows.
В меню Сервис выберите Свойства папки
Перейдите на вкладку Типы файлов .
В области действийнажмите кнопку Открытьи нажмите кнопку Изменить.
Внесите необходимые изменения и нажмите кнопку ОК.
Примечание: Для дополнительных типов файлов, вам может понадобиться просмотреть эти разделы: HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\commandHKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.12\shell\Open\commandHKEY_CLASSES_ROOT\ Excel.SheetMacroEnabled.12\shell\Open\commandHKEY_CLASSES_ROOT\Excel.Template.8\shell\Open\command HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open\commandHKEY_CLASSES_ROOT\Excel.Template\shell\Open\ команда
Если ваше приложение пытается использовать неработающую ссылку, создается ошибка исключения. Неспособность найти компонент, на который указывает ссылка, является явным признаком ошибки, однако есть несколько ситуаций, в которых ссылка считается нерабочей. Эти варианты показаны в приведенном ниже списке:
Неверный или неполный путь для ссылок проекта.
Файл, на который указывает ссылка, удален.
Файл, на который указывает ссылка, переименован.
Сбой подключения к сети или проверки подлинности.
Ссылка указывает на COM-компонент, который не установлен на данном компьютере.
Ниже приведены способы устранения этих проблем.
Ссылки на файлы в сборках задаются по абсолютным путям в файле проекта. Таким образом, в локальном окружении пользователей, работающих с несколькими разработчиками, может отсутствовать сборка, на которую указывает ссылка. Чтобы избежать этих ошибок, в таких случаях лучше добавлять ссылки между проектами. Дополнительные сведения см. в разделе Программирование с использованием сборок.
Неправильный путь для ссылок
Если проекты используются совместно на разных компьютерах, некоторые ссылки могут быть не найдены, если компонент находится на этих компьютерах в разных папках. Ссылки сохраняются под именем файла компонента (например, MyComponent). Когда в проект добавляется ссылка, расположение папки для файла компонента (например, C:\MyComponents) добавляется к свойству проекта ReferencePath.
Чтобы устранить эту проблему, можно удалить неработающую ссылку и заменить в диалоговом окне Добавление ссылки. Другое решение заключается в том, чтобы использовать элемент Путь для ссылок на страницах свойств проекта и изменить папки в списке, указав правильное расположение. Свойство Путь для ссылок сохраняется для каждого пользователя на каждом компьютере. Таким образом, изменение пути для ссылок не затрагивает других пользователей проекта.
Ссылки между проектами лишены подобных проблем. Поэтому по мере возможности следует использовать их вместо ссылок на файлы.
Исправление неработающей ссылки проекта с помощью исправления пути для ссылок
В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите пункт Свойства.
Открывается конструктор проектов.
Если вы используете Visual Basic, выберите страницу Ссылки и нажмите кнопку Пути для ссылок. В диалоговом окне Пути для ссылок введите путь к папке с элементом, на который нужно сослаться, в поле Папка, а затем нажмите кнопку Добавить папку.
Файл, на который указывает ссылка, удален.
Вполне возможно, что файл, на который указывает ссылка, был удален и больше не существует на диске.
Исправление неработающей ссылки проекта для файла, который больше не существует на диске
Если ссылка находится в другом расположении на компьютере, считайте ее оттуда.
Файл, на который указывает ссылка, переименован.
Файл, на который указывает ссылка, мог быть переименован.
Исправление неработающей ссылки, указывающую на переименованный файл
Удалите ссылку, а затем добавьте ссылку на переименованный файл.
Если ссылка находится в другом расположении на компьютере, нужно считать ее оттуда.
Сбой подключения к сети или проверки подлинности
Недоступность файлов может быть вызвана несколькими возможными причинами, например ошибкой сетевого соединения или ошибкой проверки подлинности. В каждом отдельном случае могут использоваться уникальные средства восстановления. Например, вам может потребоваться обратиться к локальному администратору для получения доступа к необходимым ресурсам. Однако удаление ссылки и изменение использующего ее кода работает всегда.
На компьютере не установлен COM-компонент.
Читайте также: