batファイルを使用して、任意のタイミングでWindows資格情報を削除したいと考えていますが、バッチファイルの書き方がわからないため、お助けいただけないでしょうか。
Windows資格情報の名前は『 ターゲット: LegacyGeneric:MicrosoftOffice16_Data:』から始まるものが複数存在します。
検索した資格情報の名前をファイルに書き出した後、順に削除をしようと考えました。
いったん必要な情報だけの切り出しをしようとしましたが、文字の切り出しがどうしても動作しません。
何が問題なのでしょうか。
●バッチファイル
@echo off setlocal REM 一時ファイルのパス作成 set EXEC_DATE=%date:~-10,4%%date:~-5,2%%date:~-2,2% set EXEC_TIME=%time: =0% set EXEC_TIME=%EXEC_TIME:~0,2%%EXEC_TIME:~3,2%%EXEC_TIME:~6,2% set TMP_FILE=%~dp0tmp_%EXEC_DATE%%EXEC_TIME%.log set LICENSE_FILE=license.txt REM 資格情報の一覧を取得する cmdkey /list > %TMP_FILE% REM Office関連の資格情報の一覧を出力する findstr /i "MicrosoftOffice16_Data" %TMP_FILE% > nul if not %ERRORLEVEL% equ 0 ( echo ERROR: No License if exist %TMP_FILE% ( del %TMP_FILE% ) exit /b 1 ) rem 資格情報の名前のみを出力 findstr /i "ターゲット" %TMP_FILE% > %LICENSE_FILE% if exist %TMP_FILE% ( del %TMP_FILE% ) rem 一行ずつ文字列の切り出し for /f "delims=" %%a in (%LICENSE_FILE%) do ( set STR=%%a echo %STR:~16% ) endlocal exit /b 0
●出力結果
~16 ~16 ~16 ~16
●bat作成の意図
Office365を使用しているのですが、頻繁に資格情報が破損してしまい、サインインを求められてしまう状態が続いています。
Officeのサポートに相談したところ、Windowsの資格情報とレジストリを削除しろという回答でした。
都度手動で作業するのが手間なので、自動化できないかと考えたためです。
根本的に発生しないようにする解決方法は調査中ですが、MSのサポート曰く原因不明なので都度対処しか方法がなさそうです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/21 14:40
2017/06/21 15:28
2017/06/27 03:23