computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

schtasks とか cacls とかのバッチファイル

@echo off
SET ZZZSCHDIR="C:\ZZZSCH"
MKDIR %ZZZSCHDIR%
echo y|CACLS %ZZZSCHDIR% /G BUILTIN\Administrators:F
echo y|CACLS %ZZZSCHDIR% /E /G "NT AUTHORITY\SYSTEM":F
echo y|CACLS %ZZZSCHDIR% /E /G "BUILTIN\USERS":F

CHDIR %HOMEDRIVE%\Users\zzz\desktop
COPY zzz.bat %ZZZSCHDIR%
schtasks /create /sc minute /mo 1 /tn "intrajp" /tr "C:\ZZZSCH\zzz.bat" /rl highest /f

rem for %%A in ("C:\Program files\sigsch\zzz.bat") do SCHTASKS /CREATE /SC MINUTE /MO 2 /TN intrajp /TR %%~sA /RL HIGHEST /F

EXIT

で、ZZZ.BATの内容

@echo off
REM SET ZZZSCHDIR="C:\ZZZSCH"
systeminfo > "C:\ZZZSCH\zzz.txt"
EXIT

これでうまくいった。
ただ、半角の空白を含むときは、なぜかうなくいかない。
remでコメントアウトしているけど、forを使うとうまくいくらしい。