0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

.bat(バッチファイル)が最後まで動かない

Last updated at Posted at 2023-10-17

問題

こんなbatファイルを作成したら、動きませんでした。

diff2html -v
sleep 1
git diff fca2767d0016fd3ade076c95e7dc816d0a7e1dcf -U9999 -- main.md --format= | diff2html --input stdin --style side --file diff.html -t "nantoka diff"

最後にpauseを入れても動かないので、

  • git diffかdiff2htmlが悪さしてんのかなあ…
  • ファイル名がまずいかな…
  • 文字コードがまずいかな…(そもそもUTF-8だし日本語入ってないし試しても変化なし)

と思っていたのですが、ことはもっと単純でした。

解決

リンク先の記事では「bat内でbatを呼ぶとその後の処理が動かないよ!」と書いてありました。

これはbat内でアプリを呼んでも一緒では??? → 正解でした。

正解

そもそも余計なコマンド入れないパターン

git diff fca2767d0016fd3ade076c95e7dc816d0a7e1dcf -U9999 -- main.md --format= | diff2html --input stdin --style side --file diff.html -t "nantoka diff"

これ1行で解決してしまえば、そもそもこんな思いをする必要はありません。

callを使うパターン

- diff2thml -v
+ call diff2html -v
sleep 1
git diff fca2767d0016fd3ade076c95e7dc816d0a7e1dcf -U9999 -- main.md --format= | diff2html --input stdin --style side --file diff.html -t "nantoka diff"

余談

このコマンドでdiffを取得できるわけですが、差分の中に日本語が入っていると.ps1(Windows PowerShell)で動きません。文字コードがうんちゃらかんちゃらでどうたらこうたらが原因っぽいですが、直すのが面倒なので諦めました。
もしやり方知ってる方がいたら教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?