2016-09-08 5 views
-1

一時ファイルとそのすべてを削除するバッチスクリプトがありますが、レジストリからスクリプトへのパスを取得するための支援が必要です。特にOutlookの一時ファイルのregkeyエントリ。私はキーのパスを持っていますが、私はレジストリからディレクトリの値を取得し、どこに私が一時ファイルを削除することができますそれを設定する方法を知らない。私はおそらくそれ以来、作ることはありませんが、私はスクリプトをやって始めて、私はちょうど笑っていると思う。私はregのクエリを行っているが、パスを示しているが、明らかに/ p name =またはそれ以外のものを設定するだけでは、%name%を削除スクリプトと*を行う場所に設定していない。スクリプトでregkeyエントリ値を取得するのに役立つ

ヘルプ大変感謝しています!!!!!

setlocal ENABLEEXTENSIONS 
set KEY_NAME="HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Security" 
set VALUE_NAME=OutlookTemp 

pause 

FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME%) DO (
    set ValueName=%%A 
    set ValueType=%%B 
    set ValueValue=%%C 
) 

pause 

if defined ValueName (
    @echo Value Name = %ValueName% 
    @echo Value Type = %ValueType% 
    @echo Value Value = %ValueValue% 
) else (
    @echo %KEY_NAME%\%VALUE_NAME% not found. 
) 

pause 

これは私が別のポストから試してみましたが、もともと私はデスクトップにファイルを作るために、これを使用していたし、その後一時フォルダ内のファイルを削除し、一時ディレクトリのファイルを解析しようとしていたものです。私はまた、何が働いていたのか、何ができていないのかを見るためにそれを一時停止しました。

START /W REGEDIT /E C:\Users\"username"\Desktop "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Security" 

そして、それがデスクトップにREGファイルを作成し、私はファイルを解析する方法で発見しようと、

FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B 

を使用しかし、それは私のために動作しませんでしたか、私は記事を見つけました間違ったことをする。あなたは、バッチファイルに次のようにしている場合Prollyちょうど私が、笑

+1

良いスタートは、レジストリキーとそれに関連する値を投稿することです。 _ – Compo

+2

[バッチスクリプト内からレジストリキーの値を取得するにはどうすればいいですか?](http://stackoverflow.com/questions/445167/how-can- i-get-the-value-of-a-value-of-a-value-of-aバッチスクリプトからのキー) – JosefZ

+0

ここに誰も全員です。より多くの情報を提供することができます。 – Squashman

答えて

1

は、必要な場所には、「%ValueDataの%」として

FOR /F "TOKENS=2*" %%I IN ('REG QUERY "HKCU\SOFTWARE\Microsoft\Office\14.0\Outlook\Security" /V OutlookSecureTempFolder') Do SET "ValueData=%%J" 

を使用することができますが、その後そのため、あなたの削除のために変数を使用することができます。

DEL /S /Q "%ValueData%\*.*" 
+0

"システムは指定されたレジストリキーまたは値を見つけることができませんでした。私が重要事項を問い合せた後に私がそれを作る価値はありますか?私はそれをOutlookTempではなくValueNameに戻しました。私はこれが変数としてキーをセットし、私がこのtempディレクトリの下のファイルを削除するためにこのような何かをすることを可能にするかどうか不明でした。 del/q/f/s "%OutlookTemp%\ *。*" – Leavii

+0

これは、キー値の名前が間違っているため、実際には** OutlookTemp **と呼ばれています** OutlookSecureTempFolder **と呼ばれます。私はそれに応じて上記の答えを修正しました。 – Compo

+0

私は/ vを使用していると思いました。変数を何にでも設定することができます。これで、一時フォルダ内のファイルを削除するのに何が使えるのですか? del/q/f/s "%J \ *。*"または%J valuedataの代わりに? – Leavii

関連する問題