実現したいこと
ADのログオンスクリプトにより、スタートアップフォルダに日本語名のショートカットを作成してしまい、
ログオンスクリプトを使って削除したいのですが、文字コードの問題で識別ができず、削除できなくて困っております。
愚かな質問ですが、識者のアドバイスを頂ければと思います。
前提
管理者権限がないPCも多い。また、Powershellも実行許可をしておらず、管理者権限を与えても動作しないので、スクリプトかバッチの範疇でなんとかならないか調べています。
発生している問題・エラーメッセージ
起動するたびにスタートアップに入れたショートカットに紐付くバッチファイルが動き、ダイアログが都度表示される。
該当のソースコード
VBScript
1Option Explicit 2 3Dim objShell, objFSO, objShortcut, desktopPath, registryKey, startupFolder, scriptFileName 4 5Set objShell = CreateObject("WScript.Shell") 6Set objFSO = CreateObject("Scripting.FileSystemObject") 7 8' 削除するスクリプトファイルの名前 9startupFolder = objShell.SpecialFolders("Startup") 10scriptFileName = "証明書.lnk" 11 12' フォルダが存在するか確認 13If objFSO.FolderExists(startupFolder) Then 14 ' フォルダ内のファイルを取得 15 Dim folder, file 16 Set folder = objFSO.GetFolder(startupFolder) 17 ' 各ファイルを確認して指定したスクリプトファイルを削除 18 For Each file In folder.Files 19 If StrComp(file.Name, scriptFileName, vbTextCompare) = 0 Then 20 ' スクリプトファイルが見つかった場合、削除 21' objFSO.DeleteFile file.Path 22 Exit For 23 End If 24 Next 25Else 26End If 27
試したこと
バッチファイルで、フルパス指定して、
del C:\Users\myname\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\証明書.lnk
としましたが、バッチファイルでも同じことでファイルが見つからない、と出ます。
chcp 65001
と入れると文字化けはしなくなりますが、削除は出来ないようです。
補足情報(FW/ツールのバージョンなど)
Windows10

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/12/13 04:34
2023/12/13 11:35