1

私はバッチファイルで以下のことをやろうとしています。

  1. フォルダが存在するかどうかを確認する
  2. そうでない場合は、フォルダーを作成します。
  3. フォルダが作成されている場合は、Everyone に読み取り権限を付与します
  4. それ以外の場合、フォルダーが作成されていないというエラーが表示されます。

以下はバッチ ファイル (test.bat) です。

set FolderPath="%TEMP%\Data"
IF NOT EXIST %FolderPath% (MKDIR %FolderPath%)

IF EXIST %FolderPath% (icacls %FolderPath% /grant "Everyone":(OI)(CI)R)
ELSE (
ECHO ERROR: The folder %FolderPath% can not be found
GOTO Finish
)

:Finish

しかし、cmd からこの test.bat ファイルを実行しているときに、以下のエラーが発生します。

IF NOT EXIST "C:\Users\Test\AppData\Local\Temp\Data" (MKDIR "C:\Users\Test\AppData\Local\Temp\Data" )
(CI)R) was unexpected at this time.
IF EXIST "C:\Users\Test\AppData\Local\Temp\Data" (
icacls "C:\Users\Test\AppData\Local\Temp\Data" /grant "Everyone":(OI)(CI)R)

フォルダーが作成されていることがわかりますが、アクセス許可が設定されていません。このエラーが表示された理由を教えてください。ありがとう !

4

2 に答える 2