最近、階層内のすべての .zip ファイルをスキャンし、zip が見つかった場所でその内容を解凍できるバッチ ファイル用の 7-Zip スクリプトを探していました。ここで次の例を見つけました:
>>>> CD "(required directory)"
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.zip) DO (
"C:\Program Files\7-zip\7z.exe" x "%%X"
)
popd
)
このスクリプトの問題は、スクリプトが配置されている同じフォルダーからのみ実行されることです。これを変更して、指定した任意のパスで動作するようにできますか? または、既にそれを実行する別のスクリプトがありますか?
編集: 解決しました! 解決策はずっと目の前にあったことがわかりました。スクリプトは、バッチ ファイルが実行された現在のディレクトリから機能します ("%CD%" 変数で示されています)。したがって、私がしなければならなかったのは、上記の矢印で示したように、先頭に 1 行挿入して、ディレクトリを必要なディレクトリに変更することだけでした。調査して自分で問題を解決するよう励ましてくれてありがとう! 昔はプログラマーとしてかなり活躍していたので、今でもたくさんのことを覚えていてよかったです!