7.対象ファイルをdocxに戻す

対象ソースは次の通り


#解凍してできたフォルダをzipとして再度圧縮(置換処理前にzipを消してたのはこの時にエラーになるから)

Compress-Archive -Path ($filePth + "\" + $fileNm + "\*") -DestinationPath ($filePth + "\" + $fileNm + ".zip") -Force


#作成したzipの拡張子をzip→docxに変更

Rename-Item -Path ($filePth + "\" + $fileNm + ".zip") -NewName ($fileNm + ".docx")


単純に言うと、解凍してできたフォルダを再度zip化してから、拡張子をzipからdocxに変更している、という巻き戻しみたいなことしてます。

「変数filePthと"\"と変数fileNmと"\*"をくっつけた内容が指すファイルを(-Path ($filePth + "\" + $fileNm + "\*"))変数filePthと"\"と変数fileNmと".zip"をくっつけたパスが指す通りに(-DestinationPath ($filePth + "\" + $fileNm + ".zip") )強制的に(-Force)圧縮してファイルを作る(Compress-Archive)」

ここで-Force使ってるんで、「2.対象ファイルをzipにしてdocument.xmlにアクセスする」でのzipファイル削除は要らないかもしれないといえばしれないんですが……デバッグ中に事故ったので、消すようにしてます。


また、こうしてできたzipに対しては

「変数filePthに"\"と変数fileNmと".zip"で示されたファイル(-Path ($filePth + "\" + $fileNm + ".zip"))を変数fileNmと".docx"をくっつけた(-NewName ($fileNm + ".docx"))名前に変更する(Rename-Item)」

という形で、docxに拡張子を戻します。

とりあえずここまでやれば、後はdocxが開けるかまでの段階まではこれますが、この時点でzipを展開した結果のフォルダがそのままなので次に片付けます。あらほらさっさ。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る