A27
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору wadimuss, не, не. Ссылаться на самого себя смысла нет, и переносить лог в текущий каталог, как и переходить в каталог с файлом. Alex_Piggy, 1. А кодировка причём? Команда if exist файл находит, но речь не о if, а о for, который в упор не видит файл, если в пути/имени пробелы: C:\Database>set "a=user\logs\2019-05-26 14.58.07.log" C:\Database>if exist "%a%" @echo Lalala Lalala C:\Database>for /f "usebackq Tokens=*" %I in ("%a%") do @echo %I The system cannot find the file user\logs\2019-05-26 14.58.07.log. За второе спасибо. P.S. Не понял в чём была проблема: ничего не менял, перезагрузил ПК и всё заработало. Мистика. P.P.S. Подозреваю, что это баг в интерпретаторе команд, может быть какое-то переполнение памяти. Встречался по аналогии с таким, когда в батнике много прыжков Call :Label и конструкций SetLocal - EndLocal, то интерпретатор со временем начинает чудить: при запуске батников в заголовке окна остаётся название предыдущего батника и title не даёт эффекта, ErrorLevel у всех программ (например ping.exe) начинает возвращать всегда одно и то же значение, переменным в SetLocal - EndLocal перестают присваиваться значения, при записи >NUL перед Set интерпретатор начинает "вылетать". | Всего записей: 66 | Зарегистр. 30-03-2017 | Отправлено: 19:20 26-05-2019 | Исправлено: A27, 19:37 26-05-2019 |
|