くんすとの備忘録

プログラミングや環境設定の覚え書き。

BAT

BATファイルにシェルスクリプトを埋め込む方法

Bash on Ubuntu on Windowsによって、Windowsでカジュアルにbashを利用することが出来るようになりましたよね。 しかしながらシェルスクリプトを直接実行することはできないようです。(パスの形式が違うので関連付けで実行できない) ということで、BATファイ…

BATファイルで、テキストファイルの2行目以降を取り出す方法

BAT

こんなファイルがあって [a.txt] aaa aa bbb bb cccこのファイルから2行目以降を取り出したい(awk 'NR>1'したい)というときのやり方。 [test.bat] @echo off setlocal enabledelayedexpansion for /f "usebackq tokens=*" %%a in (a.txt) do @if "!HEAD!"=="…

BATファイルで、テキストファイルの1行目だけを取り出す方法

BAT

こんなファイルがあって [a.txt] aaa aa bbb bb cccこのファイルから1行目だけを取り出したい(head -1したい)というときのやり方。 [test.bat] @echo off for /f "usebackq tokens=*" %%a in (a.txt) do @set HEAD=%%a&goto :exit_for :exit_for echo %HEAD%…

コマンドプロンプトでファイルの拡張子を一括変換する

Windowsの標準機能を使って、ファイルの拡張子を一括変換することができます。 まず、コピー前のフォルダの中身です。 a.txt b.txt 新しいテキスト ドキュメント.txt 新規 Microsoft Word 文書.docx 特定の拡張子を書き換え 拡張子が「.txt」のファイルの拡…

コマンドプロンプトのワンライナーでズンドコキヨシ

cmd.exeでもやります。期待してましたよね?よね? 概要 最近流行の「ズンドコキヨシ問題」を、コマンドプロンプト(cmd.exe)のワンライナーで解いてみました。Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから「ズン」「ドコ」のいずれ…

【2015年度版】コマンドプロンプトのワンライナーでFizzBuzz

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの25日目、最終日の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さて、これまでのFizzBuzz 2013年:【cmd】コマンドプロンプトでFizzBuzz - くんすとの備忘…

【吉里吉里2/KAG3】BATファイルを使ってxp3アーカイブの作成を自動化する

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの24日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さて今回は、所属している同人ゲームサークル「月うさぎプロジェクト:同人ゲームサークル」の最新作…

うちのPCのプロビジョニング用BAT

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの23日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さて、うちのメインマシンはLinuxでもMac OS XでもなくWindowsなんですが、数ヶ月に1回くらいのペー…

D&Dされたファイルにタイムスタンプを付けてバックアップするBATファイル

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの22日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 ちょっとしたバックアップ取得用にBATファイルを使っています。 まずはソース Archive_FLAT.bat @ech…

BATファイルでuniqコマンドを実装

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの21日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 BATファイルを使って簡易版uniqコマンドを作成します。 uniq.bat @echo off for /f "usebackq tokens…

BATファイルで、ロックファイルを使った排他制御を行う

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの20日目の記事です。19日目は @nmrmsys さんの "Tee for ToeKick 実行コマンドラインまで含めてログファイルに出力するコマンド" でした。 残りは全部自分です。最後まで駆け抜けるよ!※W…

BATファイルでUCaseとLCase

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの18日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 アドベントカレンダーを追いかけてくださっている方はお気づきかもしれませんが……間に合わなかったの…

BATファイルのサブルーチンで閏年を判定する

※これはコマンドプロンプトアドベントカレンダーの記事ではありません※なんだかシェル芸界隈で流行っているようだったのでBATファイルで参戦 サブルーチン本体 :IS_LEAP rem 年が400で割り切れると閏年 set /a rest = %1 %% 400 if %rest%==0 exit /b 0 rem …

コマンドプロンプトのワンライナーでMessageBoxを表示する3つの方法

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの16日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 タイトルのとおりです ①msgコマンドを使う msg.exeを使って、ユーザ名を自分の名前にすればポップア…

BATファイルにJScriptを埋め込む

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの15日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さて、BATファイルにJScriptを埋め込む方法です。割りとポピュラーなので、ご存じの方はご存知かと思…

BATファイルでフィボナッチ数列(末尾再帰の展開)

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの14日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 さて、お代の通り、BATファイルでfibコマンドを実装します。 ……が、普通に作ってしまうと再帰呼び出…

コマンドプロンプトのワンラナーでyyyyMMddHHmmss形式のタイムスタンプ文字列を表示する

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの13日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。タイトルの通りです。 解 C:\Users\kunst>for /f "usebackq tokens=*" %i in (`echo %date:/=%%time::…

xargs -Iのようにコマンドの実行結果をパイプで次のコマンドに渡すBATファイル

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの12日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、ひとつ前のコマンドの実行結果を次のコマンドに1行ずつ渡します。 each.bat @se…

BATファイルで部分文字列を得る - MID

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの11日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、VBのMID関数みたいなコマンドを作成します。MID.bat @set str=%~1 @set /a star…

BATファイルで部分文字列を得る - RIGHT

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの10日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、VBのRIGHT関数みたいなコマンドを作成します。 RIGHT.bat @set str=%~1 @set /a…

BATファイルで部分文字列を得る - LEFT

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの9日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。BATファイルを使って、VBのLEFT関数みたいなコマンドを作成します。 LEFT.bat @set str=%~1 @set /a le…

コマンドプロンプトで読んでおくべき7つのHELP - その⑦「call /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの8日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 call /? バッチ プログラムを別のバッチ プログラムから呼び出します。 CALL [ドライブ:][パス]ファイ…

コマンドプロンプトで読んでおくべき7つのHELP - その⑥「setlocal /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの7日目の記事です。 ※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 setlocal /? バッチ ファイルで環境変更のローカル化を開始します。SETLOCAL を実行した後で 変更し…

コマンドプロンプトで読んでおくべき7つのHELP - その⑤「set /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの6日目の記事です。 ※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 set /? cmd.exe 環境変数を表示、設定、または削除します。 SET [変数名=[文字列]] 変数名 環境変数…

コマンドプロンプトで読んでおくべき7つのHELP - その④「for /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの4日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 for /? 指定されたコマンドをファイル セットの各ファイルに対して実行します。 FOR %変数 IN (セット…

コマンドプロンプトで読んでおくべき7つのHELP - その③「if /?」

コマンドプロンプトで読んでおくべき7つのHELP - その③「if /?」 これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの3日目の記事です。 ※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 if /? バッチ プログラム中で条件処…

コマンドプロンプトで読んでおくべき7つのHELP - その②「start /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの2日目の記事です。※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 start /? 指定されたプログラムまたはコマンドを実行するためにウィンドウを開きます。 START ["タイ…

コマンドプロンプトで読んでおくべき7つのHELP - その①「cmd /?」

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの1日目の記事です。 ※Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。 cmd /? Windows コマンド インタープリターの新しいインスタンスを開始します。 CMD [/A | /U] [/Q] …

コマンドプロンプトのワンライナーでFireFoxをダウンロードする

ftpを使えば出来るよ echo get "/pub/mozilla.org/firefox/releases/latest/win32/ja/Firefox Setup Stub 29.0.exe">>a.tmp & echo quit>>a.tmp & ftp -A -s:a.tmp ftp.mozilla.org & del a.tmp ※親切に書くとこうなります ftp -A ftp.mozilla.org get "/pub…

BATファイルで年月日をyyyymmdd形式で取得する方法

BAT

echo %DATE:/=% 意味 環境変数 %DATE% (2014/04/09) の中の「/」を空白に置き換える 関連するリファレンス SET /? 注意 %DATE%の中身がyyyy/mm/ddじゃない設定の時は使えない

BATファイルで環境変数を設定ファイルから読み込む方法2つ

概要 WindowsのBATファイル(*.bat)で、環境変数を外部ファイルから読み込む方法を2通り解説します。 DLLなどは不要です。 方法①:外部BATファイルにSETコマンドを書く 設定ファイルとしてBATファイルを用意し、CALLコマンドで取り出しますsetting.bat (環境設…

cmd.exeのワンライナーでフィボナッチ数列

BAT

ただの手続きですが。

cmd.exeのワンライナーでFizzBuzzを性懲りもなくまた。

BAT

twitterでもいいか・・・と思ってたんだけど140文字を超えてしまったのでこちらに。前回(http://kunst1080.hatenablog.com/entry/2013/02/24/140748)より短く、そしてシンプルに書けました。

「第9回寒中シェル芸勉強会&第27回バナナで釘が打てますUSP友の会定例会」の問題をコマンドプロンプトで解いてみた

概要 先日、「第9回寒中シェル芸勉強会&第27回バナナで釘が打てますUSP友の会定例会」(http://usptomo.doorkeeper.jp/events/8339)にリモートで参加しまして。 https://twitter.com/kunst1080/status/434556029561344000 当日は普通にFreeBSD上のzshとかbash…

コマンドプロンプトでxargsっぽいことをやるコマンド

BAT

Gistに上げました。 標準出力を1行ずつ読み込んで、引数に含まれる?の場所を置換して実行します。使い方は、パスの通っているフォルダに置いて dir /b | each echo copy ? bk_? みたいな感じです。

【BAT】DOS-BATで、コマンドラインから使う簡易な課題管理システムを作ってみた。

Redmineの準備が間に合わず、ついカッとなって作った。GitHub → https://github.com/kunst1080/batits実質はBATファイル1つだけで動くおもちゃですが、使えなくもない、と言った出来の代物。※当然ですがWindowsでしか動きません 興味のある方はお試しあれ。

【cmd】コマンドプロンプトでよく使うコマンドと対応するUNIXコマンドの一覧

概要 自分がコマンドプロンプト環境でよく使ってるコマンドを一覧にまとめてみました。 コマンドプロンプトのコマンドとUNIXコマンドの対応表としてまとめています。 前置き 標準のコマンドは、以下の方法でヘルプを確認することが出来ます。コマンドの詳細…

【cmd】コマンドプロンプトでPC起動・終了のログを取得する

BAT

eventquery.vbsを使用するので、Windows XP か Windows Server 2003 あたりでだけ使える方法。 ※「/R 10」の部分が、件数を指定するオプション。 ワンライナー版 cscript //nologo C:\WINDOWS\system32\eventquery.vbs /R 10 /NH /L System /FI "ID eq 6005 …

【BAT】DOS-BATでcalコマンドを実装してみた

BAT

DOS-BATでcalコマンドを実装してみました。 WSHなどは使わず、純粋にBATファイルのコマンドだけで作成しています。[cal.bat] [出力イメージ] $ cal June 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2…

【BAT】sedっぽいことをするBATファイル

sedっぽいことをするBATファイルを作ってみました。見ての通り、がんばってない感じのシンプルな作りとなっていますが、自分の用途ではだいたいこれで間に合ってます。[sed.bat] 使用例 右側に「\r\n」を入れても文字扱いになってしまって改行に置換できない…

UNIX使いのための、DOS-BAT解説 ~ forkとexec

はじめに DOS-BATファイルから別のDOS-BATファイルを起動するには、色々な方法があります。 hoge.bat start "" hoge.bat call hoge.bat これらの起動方法が、UNIXに於ける何と対応するのか、ということを簡単にまとめます。 解説 ①hoge.bat hoge.bat これは…

【BAT】コマンドプロンプトからSQLを発行する

BATファイルでSQL(SELECTだけ)を発行します。 コマンドプロンプトで作業中にマスタの中身を覗きたい時とか、バッチ処理でテーブルの内容をCSVに落としたいときとかにべんり。[SELECT.bat] @if (1==1) /* @echo off setlocal if "%~1"=="" goto :USAGE if "%~…

【cmd】ワンライナーで、ディスク使用量の多いディレクトリトップ10を出力する

BAT

シェルスクリプトのワンライナーでやったので、同じ事をcmd(コマンドプロンプト)でもやってみた。awkもsedも使わず、標準のコマンドだけで挑戦するマゾプレイ。 (for /f "usebackq tokens=*" %i in (`dir /ad /b`) do @dir /-C %i 2>&1 | findstr /v ":[0-9]…

【cmd】WindowsXPにはなくてWindows7にはあるコマンド

概要 dir C:\Windows\system32\*.exe | more したら、見たことのないコマンドがいくつか出てきたので、目ぼしいものを調べてピックアップ!※WindowsXP Home Edition(以後XP)とWindows7 Home Premium 64bit(以後win7) を比較しています 見つけたコマンド wher…

【BAT】xlsをcsvに変換するBAT(xls2csv.bat) と csvをxlsに変換するBAT(csv2xls.bat)

概要 BATファイルを作成し、コマンドラインからxls→csvやcsv→xlsの変換を行う。 テキストの解析やEXCELの解析を実装するのが面倒なので、極力EXCELの機能を使用するコンセプトで。 使い方 BATファイルはPATHの通ってる場所においてね! hoge.xlsをfuga.csvに…

【BAT】BATファイルでヒアドキュメントを実現するBAT

概要 BATファイルでヒアドキュメントっぽいことを実現します。 これを使えばいろいろと便利になりそうです。※実装には、やんごとなき理由でJScriptを使用しています。 (DOS-BAT の for /f で回すと、空行が間引かれてしまうというアレの所為) 使い方 BATフ…

【BAT】バッチファイルでFizzBuzz ※余剰計算なし

BAT

なんとなく、余剰計算しているのが気に入らなかったので、余剰計算なしのFizzBuzzというものを考えてみた。余剰を使わないFizzBuzz・・・1nと3nと5nの数列を作ってマージしたらできそう。— くんすと (@kunst1080) February 25, 2013 まとめたものをGistに上…

【cmd】コマンドプロンプトでFizzBuzz

BAT

オープンソースカンファレンス2013の、USP研究所のセッション(https://www.ospn.jp/osc2013-spring/modules/eguide/event.php?eid=55)に触発されまして。シェル芸が流行ってるみたいだから、コマンドプロンプト芸やるは #osc2013tk— くんすと (@kunst1080) F…

広告