(C:\temp\iCACLSBackup.txt
)最終的なターゲットファイルにコンテンツを追加するために、次を使用し、その後、あなたのコマンドラインは、一時ファイル(例えば、C:\temp\iCACLSBackup.tmp
)に書いてみましょう:
copy /Y /B "C:\temp\iCACLSBackup.txt"+"C:\temp\iCACLSBackup.tmp" "C:\temp\iCACLSBackup.txt"
は、一時ファイルをクリーンアップしますその後:
del "C:\temp\iCACLSBackup.tmp"
あなたも、単一のコマンドラインですべてのことを使用することができます。
(for /F usebackq^ eol^=^"^ delims^=^" %a in ("C:\temp\listoffolders.txt") do icacls "%~a" /SAVE "C:\temp\iCACLSBackup.tmp") && copy /Y /B "C:\temp\iCACLSBackup.txt"+"C:\temp\iCACLSBackup.tmp" "C:\temp\iCACLSBackup.txt" && del "C:\temp\iCACLSBackup.tmp"
演算子&&
は、前のコマンドが成功した場合、つまり終了コードがゼロの場合にのみ、次のコマンドを実行します。
cmd /C
部分は省略されていますが、これは必ずしも必要ではないと思います。各項目の無効なパラメータを提供
: 「C:\プログラムファイル\マイクロソフト政策プラットフォーム\ policyHost.exe」/サービス 無効なパラメータ「のFiles \ Microsoftの」 それはlistofacls.txtファイルを作成して行いますが、それはあります空白 – thatotheritguy
@thatotheritguy:ファイルのリストを含むファイルには何が入っていますか?私は 'dir/b'の直接出力を使ってこのスクリプトをテストしました。そして、 '/ service'はどこから来たのですか?いずれにしても、このスクリプトは、各ファイルのACLをテンポラリファイルに書き込んだ後、 'type >>'を使用してそのファイルをマスターファイルに追加するという手法を示すためのものでした。 – AlexP
元のファイルは、wmicコール for/fのトークンによって生成されます。トークン= 2 delims = '=' "%a( 'wmicサービスリストfull^| find/i"パス名 "^ | find/i/v" system32 ")@echo%a >> c:¥windows¥temp¥listoffolders.txt' exeファイルが存在する場合はサービス呼び出しと同様に表示されます – thatotheritguy