読者です 読者をやめる 読者になる 読者になる

DOSbatch

バッチファイルでもっとも(?)簡単にYYYYMMDD形式を設定する方法

バッチファイルでログのファイル名に日付・時間をつける方法 で紹介したので一番短いのはこれ。 c:\>set YYYYMMDD=%Date:~0,4%%Date:~5,2%%Date:~8,2% c:\>echo %YYYYMMDD% 20110213 実際にログファイル名に使うときには、%YYYYMMDD%.logとかにすればいいけ…

【お題】環境変数からファイル名や拡張子を自由に取り出す方法

バッチファイルでファイルパスからファイル名や拡張子を自由に取り出す方法 ふか 2011/02/02 13:21 これって引数ではない普通の環境変数ではできませんか? お題もらいました。 バッチファイル、コマンドプロンプトで環境変数を展開したいとな。 「%~修飾子…

シェルを指定できるタブ型コマンドプロンプトConsole + nyacusを試してみた

今、ckw + nyaousを使っている、5つぐらいckwを立ち上げるときもある。 そのときは、ckwもタブ型だったらなと思うことがある。 FirefoxもThunderbirdも秀丸など、だいぶ前からタブ型が主流で、それに慣れてしまったせいだろう。 Google RSSリーダーでよさそ…

バッチファイル/コマンドプロンプトで環境変数が設定されているかをチェックする方法

環境変数が設定されているかをチェックする方法 2パターンを紹介する。 IF文を使う 構文 IF DEFINED 変数 コマンド DEFINED 条件は EXISTS と同様に動作しますが、環境変数名を受け取って、環境 変数が定義されている場合は真を返します。 環境変数が設定さ…

バッチファイルでログのファイル名に日付・時間をつける方法

日付:YYYYMMDD(年月日)形式を設定その1 forコマンドを使う for /F "eol=;tokens=1,2,3,4*delims=/, " %i in ('date /t') DO SET YYYYMMDD=%i%j%k 実行結果 D:\workspace\batch_SandBox\>for /F "eol=;tokens=1,2,3,4*delims=/, " %i in ('date /t') DO SET …

「サービス」を起動するバッチファイル

Windowsでサービス状態一覧を表示するコマンドがないのはなぜだろうか?Windowsでサービス状態一覧を表示するコマンドがないのはなぜだろうか?(VBScript編) コマンドプロンプトで、サービスの一覧を表示、確認する方法を書いたが、 「サービス」の画面を開…

Windowsでサービス状態一覧を表示するコマンドがないのはなぜだろうか?

Windows Nのころから、Windowsのサービスを起動、停止すことはできた。 net コマンド 起動 net start "サービス名" 停止 net stop "サービス名" でも状態を確認するコマンドはなかった。 以下のコマンドがあってもいいのにないつも思ってた。 Windows XPから…

キミは、バッチファイル(*.bat)でREM以外でコメントアウトする方法を知ってるか?

Unix/Linuxのシェルは#の1文字でコメントアウトができるが バッチファイルは、REMコマンドを使う必要があって3文字も 打たなければならないので、メンドウ。 1文字でコメントアウトすることができないか試してみた。 DOSKEYで#をREMに割り当てる方法 バッチ…

これがあるからWindowsでckwを使うと言っても過言ではない便利なショートカットキー

ckwのCtrl関連のショートカットキーを簡単にまとめます。 他にも何かあったかもしれないけど、主に使っているのはこれだけです。 (Emacs使っている人は、Emacsのショートカットが結構使えるのよ、と覚えておけばおkです) 全部Ctrlキーとの組み合わせ全て…

バッチファイルでファイルパスからファイル名や拡張子を自由に取り出す方法

ファイルパスからファイル名や拡張子を自由に取り出す でシェルについて書かれていたのでそのバッチファイル版 説明 %~I - すべての引用句 (") を削除して、I を展開します。 %~fI - %I を完全修飾パス名に展開します。 %~dI - %I をドライブ文字だけに展開…

conってなに?

はてなのカテゴリーはなんでソートして表示してくれないのか?で秀丸から以下のプログラムの実行をした sort <con >con「con」ってなにかというと、Windows(MS-DOS時代)からの予約デバイスで コンソール、すなわち現在入出力を行っている画面・キーボードを表す。 </con>…

バッチファイルのエスケープ文字は^だ!!

バッチファイルで長い1行の処理を改行を入れて複数行に分けて書きたいで分割して書くために^のことを書いた。 エスケープ文字の用途は他にもある。例えば「|」パイプをエスケープしたい場合。 どういうときにパイプをエスケープしたいかというとFOR文でコマ…

バッチファイルで長い1行の処理を改行を入れて複数行に分けて書きたい

バッチファイルで1行の処理が長〜いと読みにくいので、複数の行に分けて書きたいこともある。 C言語におけるマクロでの「\」やVBの「_」と同じようなことをしたい。 バッチファイルで1行が長〜い処理というのもあまりないかもしないが、Javaでオプションやら…

こんな方法があったのか! Windows用GNUコマンド群 「GNU utilities for Win32」

MOONGIFTでWindows用のGNUのコマンド群が紹介されていた。 シンプルなWindows用Linuxコマンド集「Gow」 No Command, No Life. でも僕はCygwinは好きではない。 Gowは知らなかったので、僕が使ってるのは、GNU utilities for Win32というもの。 zip形式での配…

5.関数/サブルーチン (4)コマンド、バッチの復帰値 〜コマンドが正常終了したか確認したい〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

コマンド、バッチファイルの復帰値を確認したい %ERRORLEVEL%を参照する 正常の場合は0 異常の場合は1〜255 ただし、コマンドによっては常に0を返すものもある。 正常の例 D:\MyDoc\work\#blog\test>dir ドライブ D のボリューム ラベルは データ です ボリ…

バッチファイルのパラメータ

%0はバッチファイルのファイル名となる。 C言語と同じ。Javaをやってる人は違和感があるかも。 arg1.bat @echo off echo %0 D:\MyDoc\work\#blog\コマンドプロンプト>arg1.bat arg1.bat バッチファイルで使用できるパラーメータは%0〜%9まで arg2.bat @echo …

5.関数/サブルーチン (1)バッチファイルの呼び出し 〜体育館の裏に呼び出されました。。。〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

goto文ばかり使っていると訳分からなくなるので、バッチファイルを分割する。 その場合、バッチからバッチファイルを呼び出すときにはcall文を使用する。 呼び出すバッチファイルと呼び出されるバッチファイルが同じディレクトリにある場合は、ファイル名だ…

4.基本文法 (4)forでループ処理 〜回って回って回るぅ〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

if文とgoto文を使わず、for文を使うことができる c:\>for /L %i in (0,1,9) do @echo %i 0 1 2 3 4 5 6 7 8 9 バッチファイルを作成するときは、%iではなく%%iにする必要がある。 for /L %%i in (0,1,9) do @echo %%i 関連あるかもしれない記事conってなに?…

4.基本文法 (3)ループ処理〜もう一度最初から始めるんです。 もう一度。 もう一度。〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

指定回数分繰り返す、こういうことが1番コンピュータにやって欲しいことだろう。 サクッとバッチファイルを作成したいものだ。 if文とgoto文を組み合わせて使う。 悪名高きgoto文、指定したラベルに移動するもの。 goto文を乱用するとあっちゃこっちゃに移動…

4.基本文法 (2)if文の注意事項 〜\Microsoft の使い方が誤っています。〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

通常は以下の書き方が多いと思う。 IF "%ARG1%"=="%ARG2%"しかしこの場合値に 「"」が含まれるとエラーになってしまう。例えば、バッチのパラメータに空白を含むディレクトリを 指定するために、「"」「"」(ダブルクォート)でくくった場合など。 なので以下…

4.基本文法 (1)if文、else文 〜もしもー、それ以外ならばー〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

if文とelse文 else文ももちろん使える。 しばらく使えないと思い込んでた。 ifのヘルプにきっちり書いてあるんだよね。。。以下の環境変数を設定してることを前提。 set ARG1=A set ARG2=A 正しい使い方1 if-else-normal1.bat IF {%ARG1%}=={%ARG2%} ( echo …

3.環境変数 (6)x64とx86の環境変数の違い 〜x64はx86とは違うんです。x86とは〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

x64とx86の環境変数の違い。 Windows Server2003 x64版で確認 デフォルトではなく、Visual Studio2005、Officeなど諸々が インストールされている環境 確認結果 64bitのコマンドプロンプト C:\>set |findstr "x86 64 32" ComSpec=C:\WINDOWS\system32\cmd.ex…

3.環境変数 (5)起動時に有効になる環境変数 〜人生と環境変数は、順番が大事〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Windows XP以降だと環境変数は、以下で設定できる。 システム環境変数 ユーザ環境変数 autoexec.bat コマンドプロンプト上でsetコマンド setコマンドについては説明済み、 autoexec.batは、推奨しないので説明は省略。 システム環境変数とユーザ環境変数の違…

3.環境変数 (4)環境変数一覧 〜全部見せます〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

環境変数の一覧を表示する (Unixだとenvコマンド) Windows XPで設定されているデフォルト環境変数一覧 C:\>set ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data CommonProgramFiles…

3.環境変数 (3)ローカル環境変数を使用する 〜ここだけの話〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

環境変数は、設定したコマンドプロンプトに対して有効になる。でも、バッチファイルで設定した環境変数がそのまま コマンドプロンプトに残っているとなにかと都合が悪い。 PATHなどはバッチファイルごとに指定した場合もある。 そのために使うのがsetlocalコ…

3.環境変数 (2)環境変数の計算 〜コマンドプロンプトで計算するか普通?〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

コマンドプロンプトでは変数はなく、全て環境変数になる。 これだと計算ができないように思えるが、コマンドプロンプトでも ちゃんと計算ができる。 (でも、普段使場面はループ処理でのインクリメントぐらいだろ。) SET /A 式 計算 /Aをつけないと文字列に…

3.環境変数 (1)環境変数の使い方 〜意外に削除の仕方はしらない人が多い〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

環境変数を設定、表示、削除したい。コマンドプロンプトでは、変数と環境変数の区別はない。 あるのは環境変数だけ。 これがUnnixと異なる。 環境変数の設定 c:\>set XYZ=hoge 環境変数の表示 SETコマンドで表示 大文字小文字の区別はない。 c:\>set XYZ XYZ…

2.実行する (3)バッチファイルで文字列出力 〜バッチファイルでHello World〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

echo Hello Worldと実行したコマンドまで表示されてしまう。 結果だけ表示したい。 オリジナル D:\MyDoc\work\#blog\コマンドプロンプト>HelloWorld.bat D:\MyDoc\work\#blog\コマンドプロンプト>echo Hello World Hello World 方法1 コマンドに@をつける @e…

2.実行する (2)バッチファイル 〜バッチファイルでHello World〜【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

標準出力にHello Worldを出力する処理をバッチファイルにする。 テキストエディタでファイルを作成する バッチファイルの拡張子は「.bat」か「.cmd」 今回は以下の2つを作成する HelloWorld.bat Hello World.bat バッチファイルの内容 echo Hello World 実行…

2.実行する (1)文字列を出力する〜コマンドプロンプトでHello World〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

プログラムの入門と言えば、お約束は Hello World 文字列の出力ということで、コマンドプロンプトでも標準出力に 出力してみる C:\>echo Hello World Hello World 空白を含む文字でも""でくくる必要はない くくるとそのままくくった文字列が表示される C:\>e…

1.環境を整える (6)より便利な環境 〜♪UnixのようでUnixでない DOSのようでDOSでない〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

♪UnixのようでUnixでない DOSのようでDOSでない (ベンベン♪) それは何かと問われたら ・・・ ckw と nyacus ♪ ckw と nyacus ♪ WindowsとUnixを使ってるので、Unixを使ってた期間が過ぎると コマンドプロンプトをターミナルと思って、指勝手に Ctrl + a,Ct…

1.環境を整える (5)コマンド履歴 〜コマンドライフには見られたくないものもあるよね〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Unixでは、historyコマンドがあるので、一度実行したコマンドは 補完機能を使ったり、history|grepで検索したりと全く同じコマンドを 実行することはない。 コマンドプロンプトでも履歴機能はある。 これもデフォルトでは有効になってない。 設定 有効にする…

1.環境を整える (5)フルスクリーンモード 〜フルスクリーンになっても慌てるな〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

全画面表示でコマンドプロンプトを使いたい!! どんな時に使うんだ?? はっきり言ってそんな場面に一度も遭遇したことはない。 フルスクリーンモードとは、最大化□ボタンを押した 中途半端に大きくなった画面でなく、全画面に コマンドプロンプトが表示さ…

1.環境を整える (4)Visual Studio用 〜Visual Studio用のコマンドプロンプトを簡単に起動する〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Visual Studioの設定は、システム環境変数に設定されない。 そのため、dumpbinなどVisual Studioのコマンドを使うには コマンドプロンプトを立ち上げてから環境変数設定のバッチを実行するか スタートメニューからVisual Studio用のコマンドプロンプトを起動…

1.環境を整える (4)x64版 〜x64版 Windowsでコマンドプロンプトを使う〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

x64版 Windowsの場合 64bit(x64)版コマンドプロンプト C:\WINDOWS\System32\cmd.exe 32bit(x86)版コマンドプロンプト C:\WINDOWS\SysWow64\cmd.exe エクスプローラの右クリックから起動する方法 以下のレジストリを登録することでエクスプローラの 右クリッ…

1.環境を整える (3)名前補完 〜ファイル名やディレクトリ名を補完して楽に入力したい〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

デフォルトのままだと、ファイル名やディレクトリ名を 全て入力しなければならず、非常にメンドウ。 Unixのbash、zshを使ってる人は、ファイルやコマンドも 補完されるので、ついCtrl+tabと打ってしまう。 どいういうわけか、Windowsのコマンドプロンプトは …

1.環境を整える (2)簡易編集モード 〜コマンドプロンプトで楽にコピー&ペーストする方法〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

コピー&ペーストが不便 右クリック 「範囲指定」を選択する コピーする「範囲」を選択 左クリックで確定する(コピーされる) 右クリック 「貼り付け」を選択する うーむ。 デフォルトの状態だとコマンドプロンプトでコピー&ペーストは非常にメンドウ。 (Unix…

1.環境を整える (1)起動方法 〜楽にコマンドプロンプトを起動したい〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Windowsでちょっと効率的に作業するために、コマンドプロンプト、バッチファイルを使いたいとか Linux、Macユーザーが仕事でバッチを欠かなきゃいけないとか 古いテストセットがバッチファイルで書かれてるかから覚えなきゃとか MS-DOSなら任せろと思ったけ…

意外に知らないstartコマンドの使い方

Unixのbash、zshと比較すると貧弱なコマンドプロンプト。 それでもまだ使用しなければならない場面は多々あるのだ。 そこで意外に知られてないのが、startコマンドでエクスプローラーを起動する方法 エクスプローラーをコマンドで起動 いや、単に僕が知らん…