Я делаю пакетный скрипт, который проверяет, имеет ли текущий пользователь право на запись в локальную папку, создавая файл внутри нее. Если нет, отображается сообщение об ошибке. Если это так, он удаляет файл и создает подпапку.
@echo off
set folder=C:\test
rem directory check
copy /y nul "%folder%\.writable" >nul 2>&1 || (echo %username% can't access %folder%) && (
del "%folder%\.writable" 2>nul
md "%folder%\test2"
)
pause
exit
Проблема заключается в том, что скрипт по-прежнему выполняет удаление файла .writable и создание папки "test2", даже если это не удается t создать файл.
Заменив> null 2> & 1 на> null 2> null = та же проблема
Путем обращения || и &&, если он может создать файл, он отображает команду echo, не идя дальше, в противном случае, если он не может его создать, он не отображает команду echo и тем не менее выполняет строки ниже (del, md).
Как решить эту проблему, сохранив команду копирования?
Спасибо.