技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

Windowsバッチ

WindowsバッチでSofTalk(ゆっくり音声)のHelloWorld

表題のような記事がありそうでなかったので、書いてみました。この記事を見ている方が期待している動作をさせるには、少しだけ工夫が必要でした。 Windows8.1で試しています。 ---- 以下、手順です。 1.SofTalkのダウンロードサイト(vector)にアクセスす…

Windowsバッチの動きがおかしい場合に見直すポイント(文字コード、改行コード)

Windowsのバッチファイルは、特定の文字コードや改行コードを使用しないと上手く動きません。具体的には、以下の文字コードや改行コードを用いる必要があります。 ・文字コードは「SJIS」を使用する(chcpコマンドで文字コードを変更しない場合)・改行コー…

初めてのWindowsバッチ

Windowsバッチを作ったことが無い方向けに、Windowsバッチの用途や使い方を書いた入門的な記事です。詳しいコマンドの使い方は記載しませんので、必要に応じて調べてみて下さい。 【Windowsバッチとは】WindowsOSに標準で用意されている実行ファイル形式であ…

WindowsバッチでJavaScriptの関数の結果を標準出力で受け取る

表題の通りですが、WindowsバッチでJavaScriptの関数の結果を標準出力で受け取ることができます。標準出力なので、パイプやリダイレクトも可能です。 JavaScriptで書かれた処理を自動実行したい場合や、JavaScriptのちょっとした仕様調査を行いたい場合等に…

エクスプローラ上でフォルダを任意の順番で並べる(レジストリ変更無し・フリーソフト未使用)

エクスプローラ上でフォルダを任意の順番で並べたい場合、多くの場合は「00_…」「01_…」のような形で番号を割り振り、名前で並び替えると思います。しかし、フォルダに番号を振らずに作業を進め、既に数多くのリンクが貼られてしまったような状況では、番号…

net use によるネットワークドライブ割り当てで「このコマンドの構文は~」と言われる→ダブルクォーテーションで囲っていないのが原因かも

同じエラーで手が止まっている方向けに記事を起こします。 #> net use :z \\hoge\fuga(important)\piyo のようにしてZドライブにネットワーク割り当てを行おうと思った所、「このコマンドの構文は次のとおりです:」という要は「使い方間違ってるよ!」という…

Windowsバッチで「~として認識されていません。」と怒られる→改行コードがLFのせいかも

Windowsバッチにて、明らかに文法が合っているのに、 'hoge' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。と言われて怒られることがあります。 この場合、Windowsバッチの改行コードが誤って…

java:Windowsバッチからの呼び出しで対話式で実行できることの確認

まあできますよね、という確認です。これができるなら、ちょっとしたツールを作成する時に幅が広がります。 【ソース】javaソースとWindowsバッチは同一フォルダに配置する。 ・javaソース(IOTest.java)import java.util.Scanner; public class IOTest { p…

Windowsバッチのfindstr実行と結果判定は1行でまとめられないので代替案提示

言いたいことをまとめると、「WindowsバッチをExcelから生成するため、findstrの実行と結果判定(ERRORLEVELの判定)を1行でやりたかったができなかった。仕方ないのでfindstrと結果判定の間に特殊な記号を入れ、その記号をまとめて改行コードに置換するこ…

DOSでUNCは~と怒られた場合の対処法(ネットワークドライブ割り当て)

コマンドプロンプトやバッチファイルでリモートのサーバにアクセスしようとすると「CMD では UNC パスは現在のディレクトリとしてサポートされません。」や「上記の現在のディレクトリで CMD.EXE を開始しました。UNC はサポートされません。Windows ディレ…

DOSのfindstrで日本語が検索できない件(文字コードが原因)

実務で表題の問題にぶち当たって焦ったのですが、検索対象のファイルがSJISではなかった(UTF-8であった)ことが原因でした。 【対処】検索前に下記リンク先のPowerShellのスクリプトを呼び出し、検索対象のファイルの文字コードをSJISに変更する。(フォル…

Windowsバッチの文字列置換(置換文字列を変数で定義)

備忘録です。遅延環境変数を使ったり、環境変数のネストを使ったりして色々複雑なので。 【バッチサンプル】・test.batrem 空ファイル作成type nul> output.txt rem 置換前文字列・置換後文字列を変数で定義set before=hogeset after=piyo rem before・after…

サクラエディタのマクロをバッチファイルで複数ファイルに対して実行

表題の通りです。 実務で使う機会があったのでメモします。 置換するだけならgrep置換機能で良いのですが、古いバージョンだとこの機能が入っていませんし、ソート→マージ等の置換以外の機能を使いたくなることもあるので。 以下、例を用いて説明します。 【…

Windowsバッチでサブディレクトリ内のファイル名を再帰的に取得

dirコマンドでできそうでできなかったのでメモ。 【フォルダ構成】C:\tmp>dir /s ドライブ C のボリューム ラベルは XXX です ボリューム シリアル番号は XXX です C:\tmp のディレクトリ 2018/07/31 22:35 <DIR> .2018/07/31 22:35 <DIR> ..2018/07/31 22:32 <DIR> test201</dir></dir></dir>…