cmd
コマンドを使ってユーザーが現在の背景画像へのパスを見つけることができるようにするための、もう1つ質問があります。
どのようにして現在のデスクトップイメージへのパスを見つけることができますか?
Windows 10ではこれは機能しません。フォルダ内の最初の画像のみが返され、背景が変化しても背景は変わりません。私は、もしあればWindows 10で実際に動作するデスクトップの背景上の現在の画像へのパスを返す同様のコマンドが必要です。
現在の壁紙のコピーは、Windowsファイルエクスプローラのアドレスバーに以下のパスを入力することで見つけることができます。
パス1 - %AppData%\Microsoft\Windows\Themes\CachedFiles
現在のデスクトップの背景画像のコピーがここに見つからない場合は、代わりにパスの下を試してください。
パス2 - %AppData%\Microsoft\Windows\Themes\TranscodedWallpaper
注意:パス2のファイルTranscodedWallpaper
にはファイル拡張子がありません。 「このアプリケーションで開く」または「このファイルをどのように開きますか?」を使用してください。ダイアログボックスを開き、「Windows Photo Viewer」、「Honeyview」、「Photos」アプリなどの画像ビューアを選択します。
Windows 10 に関する注意:上記の場所には制限があります。たとえば、探している壁紙が[設定]アプリの[背景]タブに表示されなくなった場合は、元に戻すことはできません。それはあなたの最後の5つの壁紙のために働くでしょうが、それ以上は古くありません。 ( Source )
Windowsのデフォルトの壁紙は、
%SystemRoot%\Web
3つのフォルダが表示されます
インストールされているテーマ(エアロなど):
%SystemRoot%\Resources\Themes
ユーザーごとのインストールテーマ(OEMからのプリインストールを含む):
%LocalAppData%\Microsoft\Windows\Themes
あなたがロック画面の画像の場所を探しているなら - this SuperUser questionにアクセスしてください。
個人的には、私は自分のデスクトップの背景を管理するために JohnのBackground Switcher を使います。
JohnのBackground Switcherには、現在または以前のデスクトップの背景(アプリ自体で設定)を表示するオプションがあります。以下の手順に従ってください -
Windows 10でWindowsフォトビューアを有効にするには、HowToGeekの this の記事にアクセスしてください。
私はWindows 10、バージョン1709を持っています。他の答えの1つは私にレジストリを見させました、そして、私は私が平文でちょうど必要としているものを見つけました:
HKEY_CURRENT_USER\Control Panel\Desktop\WallPaper
デコードは不要です。
Windows 8および10は、xyphaの答えのようにキャッシュされた/トランスコードされたファイルではなく、現在の背景画像のオリジナルパスをまだ格納しています。
HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache
Microsoftは物事を簡単にすることを望んでいません。これはプレーンテキストではないので、バイナリからデコードする必要があります。
WinhelponlineのWebサイトでは、イメージ名を印刷してイメージファイルを指定するためにExplorerを起動することができる2つのスクリプト(VBAとPowerShell)をコンパイルしました。
http://www.winhelponline.com/blog/find-current-wallpaper-file-path-windows-10/
クリアテキストで「トランスコード」パスを取得するには、PowerShellでこれを行います。
$TIC=(Get-ItemProperty 'HKCU:\Control Panel\Desktop' TranscodedImageCache -ErrorAction Stop).TranscodedImageCache
[System.Text.Encoding]::Unicode.GetString($TIC) -replace '(.+)([A-Z]:[0-9a-zA-Z\\])+','$2'
あなたが達成したいことを正確に説明しないので、私は推測に基づいてここでいくつかのヒントを与えることができます:あなたは特定の条件であなたの壁紙を変えたいです壁紙としてカスタムファイル。
Windows 7では、壁紙は通常%AppData%\Microsoft\Windows\Themes\TranscodedWallpaper
にありました。
Windows 10では%AppData%\Microsoft\Windows\Themes\CachedFiles
にあります。
また、レジストリに問い合わせることができます。
HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache
しかし、ファイルをディスクに書き込んでいないプログラムに関する以下の警告に注意してください。
あなたがあなた自身のCMDスクリプトを構築したいならば、あなたがWindowsからではなく外部のプログラムから壁紙を設定するならば、これは信頼できないかもしれません。たとえば、ブラウザに素敵な画像が表示されている場合は、そこから直接壁紙として設定します。 IrfanViewと同じです。私は簡単に壁紙をカスタムパスに変更することができる別の10の人気のあるプログラムに名前を付けることができます。
実際にはファイルをディスクに書き込まずに壁紙を変更するプログラムもあります。これは、Microsoft Windowsデスクトップウィンドウにフックし、そのキャンバスに直接描画することによって実行できます。これがGIF/AVIアニメーションがデスクトップに描かれる方法です。
あなたがあなた自身のスクリプトを構築するならば、もう一つの問題があります:あなたのデスクトップと同じアスペクト比を持っていないイメージをどう扱うか、またはデスクトップの解像度が変わるとき?
解決策(私があなたの問題を正しく推測した場合)はJohnのBackground Switcherまたは BioniX Desktop Background Changer のようなプログラムを使うことです。後者ははるかにカスタマイズ可能であり、コマンドラインを介して制御することができます。また、画像のサイズを変更するための最善の方法(fill/fit/tile)を検出するための自動検出機能もあります。 BioniXは、ディスクに何も書き込まずにGIFを描画することもできます(前述のとおり)。
さらに良い方法は、 "フォルダをロックする"オプションを使うことです。 60秒ごとに壁紙を変更するようにBioniXを設定します(1つのファイルしか使用しないため、60秒ごとに新しい壁紙は表示されません)。任意のフォルダをロックするようにBioniXを設定します(C:\Wallpapers
と言いましょう)。そのフォルダの中にあなたはMy Wallpaper.jpg
のような何かと呼ばれる単一のファイルを置きます。 BioniXは60秒ごとに壁紙としてそのファイルを使用します。今、あなたは壁紙を変更したいたびにあなたはあなたの新しいファイルで古いMy Wallpaper.jpg
を置き換えます。 BioniXは、フォルダに対して行った変更を確認し、新しいファイルを適用します(60秒以内)。
より良い解決策を得るためにあなたのスクリプトで何を達成したいのかを私たちに知らせてください。