• ベストアンサー

デスクトップ上のファイルを削除する汎用バッチ

複数の人へ配布する資料を作成しています。 PCは、Windows XP/SP2 最後にデスクトップ上のテキストファイルを全部削除するバッチを 作りたいのですが、デスクトップの指定方法が判りません。 C:/AXP/削除バッチ.bat ------------------------------ echo デスクトップ上のテキストファイルを全部削除します pause del \__デスクトップ__\AXP*.txt ------------------------------ 削除バッチをダブルクリックさせて削除したいのですが、 ユーザーに依存しない指定はあるでしょうか? このサイトの検索もしましたが、良くわかりませんでした。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.2

ログオンしているユーザによって環境変数 USERPROFILE が 設定されますので、これを使えば#1さんの書かれているように デスクトップの位置は、%USERPROFILE%\デスクトップ\ で参照 できます。 (その他使えそうな環境変数は set[Enter]で表示されるものを 参考にしてください) 例示されているバッチは次のようになります。 /Q は削除時に確認を取らないオプションです。 C:/AXP/削除バッチ.bat ------------------------------ echo デスクトップ上のテキストファイルを全部削除します pause del /Q "%USERPROFILE%\デスクトップ\AXP*.txt" ------------------------------

guci-ok
質問者

お礼

有り難う御座います。 USERPROFILEでしたか。 setでみると、デスクトップを示すものはなさそうですね。 たしかに、私のPCでも、そうでした。 しかし、私の別のPCでは、Documents and Settings のしたに、半角と全角のデスクトップ、つまり デスクトップとデスクトップの2つがあり、どうも半角のほうか 使われているようです。 直接、「デスクトップ」を示す変数があると良いのですが・・・

その他の回答 (1)

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

デスクトップのパスは C:\Documents and Settings\Windowsアカウント\デスクトップ ですよ。

guci-ok
質問者

お礼

有り難う御座います。 そのようです。

関連するQ&A

  • デスクトップ上のインターネットショートカットを削除する汎用バッチ

    先日一太郎2008の脆弱性対応モジュールを管理者権限付与して、複数の人へ配布したのですが、登録後、デスクトップ上に「JSユーザー登録・確認」というショートカットが出来てしまい、ユーザーが削除しようとすると「JSユーザー登録・確認を削除できません。アクセスできません。」と表示され、削除も移動もできなくなってしまいました。 試しに管理者権限でログインして削除をやってみたら、削除できました。とりあえずデスクトップ上からショートカットを削除するbatを作りたいのですが、(後で管理者権限付与)どのように記述すればよいでしょうか? PCは、Windows XP/SP2 ユーザーに削除バッチをダブルクリックさせて削除したいのですが、 ユーザーに依存しない指定はあるでしょうか? (デスクトップの指定方法がよくわからなくて・・・) 宜しくお願いいたします。

  • バッチファイルについて

    バッチファイルについて バッチファイルの勉強をしておりますが、以下のバッチで 分からない箇所があります。 @echo off copy C:\bin\set.txt set.txt | find /v "コピー" echo ユーザー名を入力してください echo 入力後、Ctrlキーを押しながらZキーを押した後、Enterキー copy con inp.txt | find /v "コピー" copy set.txt+inp.txt setinp.bat | find "○○" call setinp.bat echo ユーザー名は%INP%と入力されました! del setinp.bat set.txt inp.txt <<不明箇所>> まず、C:\bin\set.txt』は set INP= とだけ書いたファイルです。 copy C:\bin\set.txt set.txt | find /v "コピー" ですが、|find /v"コピー"はなんのためにやっているのでしょうか?? find /vを調べてみると、指定した文字列を含まない行の内容をすべて画面に表示します。 と記載されていますが・・・・このバッチでは一体なぜ最初にいるのでしょう?? copy con inp.txt | find /v "コピー" ですが、コンソールから入力させた文字列をinp.txtに保存しているらしいのですが、 そのあとに、また、|find /v"コピー"がでてきますが、なぜでしょう??なにを したいのでしょう?? さらにまた、copy set.txt+inp.txt setinp.bat | find "○○"が出てきますが、 ここでなぜまた意味不明な、|find"○○"がでてくるのでしょう?? さらにさらに、バッチを実行してみると、set.txtの中身にはコンソールから 入力した文字は何も記載されていない、そして、inp.txtやsetinp.txtという テキストファイルも、どのフォルダにも出来ていません。 最後の行のdel setinp.bat set.txt inp.txtを消して実行してみても同じです。 なぜでしょう?? このバッチの動き、例としての意図が全く分かりません。。。。 この例題が悪すぎるのか、私の頭がわるすぎるのか・・・・ ちなみに、上記バッチは、http://www.geocities.co.jp/SiliconValley-SanJose/1227/batinput.html のサイトのものです。 どなたかご教授願います。。。一週間悩みましたが、まったく理解できない状態です。。。

  • バッチファイルでファイル生成の件

    OS :WindowsXP sp3 バッチファイルのコーディングのアドバイスをいただけませんでしょうか? バッチファイル名:aaaa.bat バッチファイル起動時 aaaa.bat a01 a02 a03 a04 ・・・・・4つの引数を使用 バッチファイルのソース net \\(ipアドレス)\test\a ・・・・ipアドレスのファイルサーバーにマウント echo test >>testtxt.TXT ・・・・testtxt.txtのファイルを生成 この状態で引数4つ目を使用してtesttxta04.txtというテキストを生成したいと思っています。 コーディングではどのようにすればいいのかアドバイスいただけませんでしょうか?

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • For文のtokensにおけるバッチファイル作成について

    はじめまして。 バッチファイルにて以下のコマンドを作成して 実行したのですがきちんと実行されません。 コマンドプロンプトを起動して1個1個実行するときちんと 実行されます。どういうことなのでしょうか? <バッチファイル> @echo off cd /d デスクトップ for /F "tokens=2" %i in ( file.txt ) do echo %i >> result.txt pause <file.txtの中身> 1<tab>2<tab>3 4<tab>5<tab>6

  • バッチコマンドの for文の使い方。

    以下のバッチファイルはテキストを一行ずつ3つの変数に読み込み <subtest.bat>の処理を行うものです。 この2つのバッチファイルを一つにまとめたいのですがどうすればいいでしょうか。ただし、<subtest.bat>内は実際には10行程度の文です。 goto文を使用してみよとしたのですがうまくいきませんでした。 どなたかわかる方がいらっしゃいましたら、教えていただけないでしょうか、お願いいたします。 ------------------------------------------------ rem <test.bat> @echo off for /F "usebackq tokens=1-3" %%a in ( file.txt ) do call subtest.bat %%c,%%b,%%a PAUSE exit -------------------------------------------------- rem <subtest.bat> rem 変数の表示 rem 実際には10行程度の文です。 @echo %3, %2, %1 -------------------------------------------------- <file.txt>の内容(タブ区切り) shin0.bmp1000 200 shin1.bmp 700 200 shin2.bmp 800 200 shin3.bmp 860 200 shin4.bmp 400 200 --------------------------------------------------

  • バッチファイルでFINDSTRを使って文字列検索をしたいが、ファイルが

    バッチファイルでFINDSTRを使って文字列検索をしたいが、ファイルが開けない (1)と(2)のバッチファイルを作りました。それぞれ単体で実行すると、エラーは出ません。 (1)と(2)を一緒にした(3)というバッチファイルで実行すると、FINDSTRのところで、 「ファイルを開くことができません」というエラーが出て、途中でとまってしまいます。 エラーを出さずに実行する方法は何かないでしょうか? (A.batは、CドライブにあるWord.exeを実行するだけのバッチファイルです。) どうぞよろしくお願いします。 【(3)の中身】 call A.bat >kekka.txt   ←この1行だけが(1)のバッチファイルの中身です GOTO kensaku GOTO :EOF ::文字列検索 :kensaku SET keyword=作成しました。   ←この行から下が(2)のバッチファイルの中身です FINDSTR %keyword% kensaku.txt > NUL GOTO kekka%ERRORLEVEL% GOTO :EOF :kekka0 REM 文字列あり ECHO %keyword%がありました PAUSE > nul GOTO :EOF :kekka1 REM 文字列なし ECHO %keyword%はありませんでした。 PAUSE > nul GOTO :EOF

  • hostsファイルをコピーするバッチを実行するとデスクトップ上にtempフォルダが作成されてしまう

    hostsファイルをコピーするバッチファイルを作成しました。 バッチファイルの記述は以下のとおりです。 --------------------------------- @ECHO OFF CLS ECHO HOSTSファイルをアップデートします。 ECHO よろしければ、ENTERキーを押下してください。 ECHO 中止したい場合は、右上の×をクリックしてください。 PAUSE > NUL ECHO . ECHO HOSTSファイル コピー中... copy hosts %winDir%\system32\drivers\etc > NUL ECHO HOSTSファイル コピー終了 ECHO . ECHO アップデートが終了しました。 ECHO もう一度、ENTERキーを押下してください。 PAUSE > NUL EXIT -------------------------------------- バッチファイル(update.bat)とコピーするhostsファイルをまとめてexeファイルに変換し、exeファイルを実行してみると、hostsファイルは正常にコピーされるのですが同時にデスクトップ上に"c"というフォルダが作成されてしまいます。 cフォルダ内にはさらにwindowsフォルダが作成され、さらにwindowsフォルダ内にはtempフォルダが作成されていましたので、おそらくはc:\windowsフォルダ内のtempに記述されるべきものがユーザープロファイル内のデスクトップ上にできあがってしまうようなのですが、このcフォルダが作成されないようにするにはどうすればいいのでしょうか?

  • バッチファイルの作成

    お世話になっております。 バッチファイルの作成方法について、只今勉強中です。 現在、毎日行われている作業をバッチファイルで自動化が出来ないか検討しておりますが、バッチファイルの編集に苦戦していて困っております・・・ ---実行したい事--- 0.以下、作業の流れをコマンドプロンプト上で表示する。 1.C:\ツール\batというフォルダに移動する。 2.batフォルダに新しく「file」というフォルダを作成 3.batフォルダ内には「bat_YYYY/MM/DD.txt」という日付のテキストがあり、該当する日付のテキストをコピーしてfileフォルダへ貼り付ける。 4.fileフォルダへ移動する。 ---終了--- 手順を全部書いてしまっているのですが、途中まではバッチファイルの編集をする事が出来ました。しかし、正解しているか不安です。 ご教授の程、宜しく御願い致します。

  • コマンドプロンプトでファイル読み込み

    For文を使って、パラメータファイルから値を読み込みたいのですが、 "C:\Documents and Settings\~"等(パスにスペースが含まれる場合)に置かれた場合、 ファイルを読み込んでくれず困っております。 ()内のファイル指定で、""(ダブルクォーテーション) や'(シングルクォーテーション)で囲むこともしてみましたが、ダメでした。。 どう指定すればよいのかご教授下さい。 よろしくお願いいたします。 【パラメータファイル(tmp.txt)】 ABC=12345 【バッチファイル(test.bat)】 for /F "delims== tokens=1,2" %%A in (D:\tmp.txt) do if %%A==ABC set value_1=%%B echo %value_1% pause