Как проверить, перезаписываем ли файл/dir в сценариях пакетной обработки

В ударе я использовал бы

[ -w ... ]

Каков эквивалент для пакетных файлов Windows?

6
задан Marc Mutz - mmutz 4 January 2010 в 14:50
поделиться

2 ответа

Насколько я знаю, вы можете узнать, существует ли файл или нет , но нет никакого способа узнать, можно ли его записать, кроме как попытаться записать на него. Речь идет не только об отсутствии флага R, но и о сетевых и NTFS разрешениях (и, возможно, о групповых политиках тоже).

Если вы можете переписать свой код, вы можете перехватить код возврата операции записи через уровень ошибок .

.
4
ответ дан 17 December 2019 в 18:16
поделиться
[

] можно сделать так, используя 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
]
0
ответ дан 17 December 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: