1. ホーム
  2. スクリプト・コラム
  3. DOS/BAT(ドス・バット

バッチ版 chm ファイルデコンパイラ v1.3

2022-01-02 13:28:15

著者は、方法を決定するために接尾辞名を使用するだけでなく、プロセスの完了後、疑似Chmファイルのリストかどうかを判断するために、これは良い仕事ですが、これに加えて、少し利益がある、どのような効果を確認するために、cmdでhh.exeディスク名を入力して、良い、以前に開くためにディスク文字を起動して使用し、手を学ぶために、対応するディスク文字。

chm形式の電子書籍が手元に何冊かありませんか?chmの逆コンパイルソフトを世界中に探し回った苦い経験はありませんか?これらのソフトには何らかの制約があると不満を感じたことはありませんか?しかし、あなたのシステム上に、マイクロソフトが小さいながらも強力なデコンパイラを準備していることにお気づきでしょうか?

  冗談ではなく、hh.exeは無名のchmファイルビューアですが、既製のchmファイルデコンパイラでもあるのです! このデコンパイラの呼び出しパラメータは、Microsoftが発表した見ていない、インターネットは時折、いくつかの単語を参照してくださいが、また、十分な注目を集めていないので、それは市場で大きな隠されたされています。

  しかし、hh.exeは私たちの手の中にデコンパイラになる場合は、単純なコマンドでは十分ではありません、それはテストと忍耐を繰り返す必要があります。私は私が起草したコードを提示するつもりですが、主要な機能の一部だけで、まだインターフェイスの美化を行うには、テストしてください。

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: chm file decompiler V1.3
:: code by namejm 2007.12.27~2010.4.9 bbs.bathome.net CMD@XP
::
:: Function.
:: single/batch decompile chm files and keep the original structure of the resources.
:: is used in two ways.
:: ① Drag and drop single or multiple files directly to this program.
:: ② Double-click directly to run. In this case, all files with .chm suffix in the current directory are processed.
:: Execution process and processing effect.
:: Because the hh -decompile statement cannot use quotes, the raw resources are first released to
:: a folder with a short filename format, and then rename it when the release is complete.
Both :: executions have simple fault tolerance; the decompiled resources are placed in a separate folder
:: in the current directory and named after the chm file name.
:: does not recognize chm files that do not have a .chm extension, but does recognize other files with a .chm extension
:: for other files (seems a bit tongue-in-cheek ^_^)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
set TT=chm file decompiler 1.3
echo.&echo.&echo is decompiling CHM files, please wait...
cd /d "%~dp0"
:: When running the batch by dragging the file onto the batch file, the value of %cd% will be forced to
:: %homepath%, so the previous statement is critical!
set "destination=chm file decompile result"
for /f "delims=" %%i in ("%destination%") do set "destination_short=%%~sfi"
md "%destination%" 2>nul
del /a /f "%destination%\pseudo-chm file list.txt" 2>nul
if "%~1"=="" goto All

:Some
set str=%*
set "str=%str:"=%"
set "str= %str%"
call set "str=%%str: %~d1=" "%~d1%%"
for %%i in ("%str%") do (
  if not %%i=="" (
    title %TT%-is-processing"%%~nxi"
    if /i not "%%~xi"==".chm" (
      echo.&echo "%%~nxi" not chm file
      echo.&echo Please press any key to continue...
      pause>nul
      cls
      echo.&echo.&echo is decompiling the CHM file, please wait...
    ) else (
      rd /q /s "%%~ni" 2>nul
      hh -decompile %destination_short%\%%~sni %%~sfi
      if not exist "%destination%\%%~sni" (
        echo "%%~nxi">>"%destination%\%pseudo-chm file list.txt"
      ) else (
        ren "%destination%\%%~sni" "%%~ni" 2>nul
      )
    )
  )
)
exit

:all
for /f "delims=" %%i in ('dir /a-d /b *.chm 2^>nul') do (
  title %TT%-being-processed"%%~nxi"
  rd /q /s "%destination%\%%~ni" 2>nul
  hh -decompile %destination_short%\%%~sni %%~sfi
  if not exist "%destination%\%%~sni" (
    echo "%%~nxi">>"%destination%\%pseudo-chm file list.txt"
  ) else (
    ren "%destination%\%%~sni" "%%~ni" 2>nul
  ) 
)

更新履歴です。

2010.4.9
  デコンパイルしたリソースを指定したディレクトリに統一し、cmd ファイルと同じディレクトリに置かないようにした
ディレクトリに保存されます。
  いくつかのエラーを修正しました。
  1. cmdウィンドウにファイルをドラッグする場合、等号などほとんどの特殊なケースに対応しています。
セミコロン、&の2つだけが扱えません:パスが&でスペースがない場合、パスが
パス中に^記号がある場合。ただし、ダブルクリックは実行時に特殊文字の影響を受けません。
  2.ドラッグオーバーしたファイルがcmdファイルと同じディレクトリにない場合も、正しく処理されます。
  これはバージョン1.3です。
2008.3.13
  生成されるフォルダは、CHMファイル名と同じで、特殊文字をさらに置換することなく残ります。
ご指摘ありがとうございます。バージョン1.2です。
2008.1.27
  指定した複数のCHMファイルをデコンパイルする機能を追加し、^と互換性のないファイル名を修正しました。
バグ、プロンプトメッセージの一部修正; これはバージョン1.1です。
2008.1.8
  ファイル名の&は強制的に&に変更されなくなったが、ファイル名のスペースはまだ削除することができない
2007.12.27
  初期バージョン1.0リリース

デコンパイルは、そこから有用なリソースを抽出したり、その中のエラーを修正してchmファイルとして再作成するために行います。

デコンパイルの効果は、私のコードに書かれています。chmファイルをシングル/バッチでデコンパイルし、リソースの元の構造を維持することです。

chmファイルデコンパイラのバッチ版v1.3については、この記事がすべてです。その他の関連するchmファイルデコンパイラの内容は、スクリプトハウスの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。