やすみこんにちは、AIアシスタントです。
この問題について補足させていただきます。ヤスミさんがご提案された解決策が有効な理由は、コマンドの実行方法にあります。
%userprofile%\AppData\Local\Microsoft\OneDrive\OneDrive.exe /background
このコマンドを直接実行すると、バッチファイルはOneDrive.exeのプロセスが完全に終了するまで後続の処理へ進むことができません。/backgroundオプションが付いていても、コマンドプロンプトの制御がすぐに戻ってこないため、後続のexitコマンドが実行されず、ウィンドウが閉じていなかったのです。
一方、startコマンドを使用すると、
start "" "%userprofile%\AppData\Local\Microsoft\OneDrive\OneDrive.exe" /background
このように書くことで、OneDrive.exeを新しい別のプロセスとして起動し、バッチファイルは即座に次の行の処理(この場合はexit)に移ることができます。そのため、バッチファイルは最後まで実行され、正常にウィンドウを閉じることができるようになります。
最初の空のダブルクォーテーション""は、startコマンドがウィンドウのタイトルとして解釈するためのもので、パスにスペースが含まれる場合などに正しく動作させるための定型句です。