В ударе я использовал бы
[ -w ... ]
Каков эквивалент для пакетных файлов Windows?
Насколько я знаю, вы можете узнать, существует ли файл или нет , но нет никакого способа узнать, можно ли его записать, кроме как попытаться записать на него. Речь идет не только об отсутствии флага R, но и о сетевых и NTFS разрешениях (и, возможно, о групповых политиках тоже).
Если вы можете переписать свой код, вы можете перехватить код возврата операции записи через уровень ошибок .
.] можно сделать так, используя vbscript [
]. [Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strFile = objArgs(0)
Set objFile = objFS.GetFile(strFile)
If Not objFile.Attributes And 1 Then
WScript.Echo "The file is Read/Write."
Else
WScript.Echo "The file is Read-only."
End If
]
[] сохраните как check.vbs и в командной строке [
]. [c:\test> cscript //nologo check.vbs myfile
]