GCRaistlin
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ic3daem0n Распарсить файлы, записать строки во временный файл, стереть первый, переименовать временный в первый. Возвращаясь к вопросу проверки наличия доступа на чтение файла. Воистину, усложнять - просто, упрощать - сложно: Код: :IsReadable <file> rem Errorlevel 1: file is readable rem Errorlevel 0: file is NOT readable rem Errorlevel -1: Invalid syntax setlocal disabledelayedexpansion set "File1=%~1" if defined File1 set "File1=%File1:"=%" if not defined File1 ( echo/ echo Invalid syntax! exit /b -1 ) (2>&1 >nul fc.exe "%File1%" "|" | find.exe /i "%File1%") >nul exit /b | Похоже, нашел универсальный способ отличить файл от каталога, не зависящий от языка ОС, работающий корректно в т. ч. с сетевыми дисками и каталогами, к которым нет доступа List folder: Код: :IsDir <obj> rem Errorlevel 1: <obj> is a dir rem Errorlevel 0: <obj> is a file rem Errorlevel -1: Invalid syntax setlocal disabledelayedexpansion set "File1=%~1" if defined File1 set "File1=%File1:"=%" if not defined File1 ( echo/ echo Invalid syntax! exit /b -1 ) color 00 (for /f %%A in ('fc.exe "%File1%" "|"') do set /a 0) 2>nul exit /b |
---------- Magically yours Raistlin |
|