この人頭いいなと思ったエピソード

windows2008のターミナルサービスでスタートアップにバッチファイルを設置していますが、
初回起動のみを動作させるために、
バッチ内にバッチファイルを削除する記述をしていますが、
動作ディレクトリがc:\windows\system32なので、
スタートアップのファイルは削除できません。

スタートアップのファイルをバッチで削除する方法はあるのでしょうか?

またスタートアップのディレクトリ名の中に
ユーザー名が含まれているのですが、
バッチファイル内に記述するのに、
これを別称などで、どのユーザーでも反応するように、する記述方法はあるのでしょうか?

A 回答 (1件)

ファイルを削除するにはまずカレントディレクトリを削除したいファイルの


フォルダに移動するか、絶対パスで指定してあげる必要があります。


ターミナルサービスにおいてのスタートアップの場所を存じておりませんが
ローカルログオンと差が無い前提で記述します。

ユーザのスタートアップはユーザプロファイルフォルダの下位フォルダにありますので
そちらに移動します。

cd "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

上記構文では%USERPROFILE%を使いユーザプロファイルフォルダへ移動しています。
この変数は実行時にログオン(実行している)ユーザのユーザプロファイルフォルダを
返しますのでその後ろに続きの必要なパスを記述します。

削除の処理はこの後に記述します。


また、絶対パス指定での削除は次の通りです。

del /F /Q "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\first.bat"

構文はそのまま利用できればいいですが、念のために指定したパスの場所に消したい
ファイルがするどうか事前に確認してください。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報