2014年3月7日

【Access】 あれば更新なければ追加

データベースを使ったシステムを開発しているとよく本テーブルからデータを抽出して、ワークテーブルで編集してまた本テーブルに格納するなんてことをやるんですが、そんなとき2つのテーブルを比較して、データがあれば更新なければ追加といったことをします。 (adsbygoogle = window.adsbygoogle || []).push({}); 例えば次のようなテーブルがあったとします。 T_Animals(本テーブル) このテーブルからデータをワークテーブルに持ってきて、変更と...

2014年3月6日

【Access】独自メニューバーが他のファイルでも表示される

(adsbygoogle = window.adsbygoogle || []).push({}); 今日たまたま気づいたんですが、以前作ったAccessの独自メニューバーが、デフォルトで新規作成されたファイルにも表示されていたんです。 マジでビックリです。 ヤバいですよコレ。 だって、以前お客さんに作ったAccessのシステムのメニューが表示されちゃってんだもん。 ちょっと試しに新たにメニューバーを追加してみたんですけど、 やっぱり新規作成したものにもデフォルトで出...

2014年3月5日

【PowerShell】SQL Serverのデータベースを復元

PowerShellを使ってSQL Serverのデータベースを復元するやり方です。 今回もInvoke-Sqlcmdを使った方法です。 まず、PowerShellを管理者権限で立ち上げ、 SQLPSと打ち込んでください。 そして、次のように入力して実行してください。 Invoke-Sqlcmd "RESTORE DATABASE TESTDB FROM DISK = 'C:\work\backup\TESTDB.bak' WITH REPLACE" -ServerInstance "SVRNAME\SQLEXPRESS"...

2014年3月3日

【PowerShell】SQL Serverのデータベースバックアップ

システムでSQL Serverを使うことがあるのですが、コマンドで操作することがよくあります。 PowerShellでも当然SQL Serverを扱えるようになっています。 たとえばデータベースのバックアップは次のように行います。 まず、PowerShellを管理者権限で立ち上げ、 SQLPSと打ち込んでください。 このSQLPSユーティリティ(SQLPS.exe)を実行すると、コマンドレットやスクリプトでSQL Serverのインスタンスとそのオブジェクトを操作出来るようになるみたいです。 ただ、TechNetをいま見たらこの機能は将来削除される予定らしいです。 代わりにsqlps...

2014年2月28日

【PowerShell】2つのファイルを比較する

(adsbygoogle = window.adsbygoogle || []).push({}); よく、2つのファイルを比較したい、特にソースコードで変更箇所を探し出したいといったことがあると思いますが、そのようなときはCompare-Objectを使います。 Compare-Object -ReferenceObject $(Get-Content C:\work\src1\Program.cs) -DifferenceObject $(Get-Content C:\work\src2\Program.cs) この例では、2つのファイルC:\work\src1\Program.csとC:\work\src2\Program.csの比較を行っています。 -ReferenceObject...

2014年2月27日

【PowerShell】サブフォルダのファイルも含めて文字列を検索する

(adsbygoogle = window.adsbygoogle || []).push({}); 指定した文字列を含んだファイルを探すとき、たいていの場合サブフォルダも含んだ状態で検索すると思うのですが、そういった場合は次のように行います。 Get-ChildItem . -include *.txt -Recurse -Force | Select-String "たぬき" -Encoding default はじめの Get-ChildItem . -include...

2014年2月26日

【PowerShell】ファイルから文字列を検索する

(adsbygoogle = window.adsbygoogle || []).push({}); ファイルに含まれる文字列を検索する、いわゆるgrep機能を行うにはSelect-Stringを使います。 構文は以下の通りです。 Select-String -Pattern [検索したい文字列] -Path [検索するファイル] または、 Select-String [検索したい文字列] [検索するファイル] PS C:\work> Select-String...

2014年2月25日

【PowerShell】ファイル検索

(adsbygoogle = window.adsbygoogle || []).push({}); PowerShellでファイルを検索するには、Get-ChildItemを使います。 基本構文は次の通りです。 Get-ChildItem [ファイル名] PS C:\work> Get-ChildItem "*.jpg" この例では、C:\data\tmpでjpg拡張子の付くファイルを検索しています。 ちなみにこの方法だと、そのフォルダ内しか検索してくれません。 サブフォルダも検索したい場合は、-Recurseをつけます。 PS...

2014年2月24日

【PowerShell】ファイルに追記する

PowerShellでファイルに追記するには、Add-Contentを使います。 たとえば以下の内容のファイルがあったとして、ここに「えんがわ」を追加したいとします。 その場合、次のようにします。 PS C:\work> Add-Content -Path C:\work\寿司ネタ.txt -Value "えんがわ" このように一番下に「えんがわ」が追加されました。...

2014年2月21日

【PowerShell】ファイルに書き込み

ファイルに書き込むには、Set-Contentを使います。 PS C:\work> Set-Content -Path C:\work\test.txt -Value "やっほー" 上の例では、C:\work\test.txtというファイルに「やっほー」と書き込んでいます。 ちなみに-Pathと-Valueは省略できます。 また、-Pathで指定したファイルが存在しない場合は、自動で作成してくれます。...

2014年2月20日

【PowerShell】ファイル作成

(adsbygoogle = window.adsbygoogle || []).push({}); PowerShellでファイルを作成するには、New-Itemを使います。 PS C:\work> New-Item -Path [ファイル名] -Value [ファイルの内容] -Type file ちなみに-Pathと-Valueは省略できます。 -Typeはfile以外にdirectoryもあって、directoryを指定するとフォルダが作成されます。 -Valueに指定すると、内容を書き込んでファイルを作成してくれます。 PS...

2014年2月19日

【PowerShell】ファイルを読み込む

(adsbygoogle = window.adsbygoogle || []).push({}); PowerShellでファイルを読み込むにはGet-Contentコマンドレットを使います。 PS C:\work> Get-Content -Path [表示させたいファイル名] ちなみに、-Pathは省略できます。 <関連記事> 【PowerShell】ファイル作成 【PowerShell】ファイルをコピーする 【PowerShell】ファイルを削除 【P...

2014年2月18日

【PowerShell】コマンドレットのヘルプを表示する

PowerShellを使っててヘルプを見たいと思ったのですが、DOSプロンプトみたいに/?を打ち込んでも「そんなパラメーターは存在しないぞ!」って怒られてしまうんですよね。 で、調べたら次のようにやるみたいです。 たとえばCopy-Itemのヘルプは、 PS C:\work> Copy-Item -? これが一番簡単なやり方なんですが、-?を付けるだけです。 なんでスラッシュじゃねぇんだよと思いますがこうするんですね。 それで、あと他に2つやり方があります。 PS C:\work>...

2014年2月17日

【PowerShell】フォルダの削除

フォルダを削除するには、ファイルと同じでRemove-Itemを使います。 構文 Remove-Item [削除したいフォルダ] 例えば、C:\Data\tempフォルダを削除する場合は、 Remove-Item C:\Data\temp こうなるんですが、 ただ、注意してほしいのは、削除したいフォルダの中にサブフォルダが含まれていると確認のメッセージが表示されます。 確認 C:\Data\temp の項目には子があり、Recurse パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか? [Y]...

2014年2月14日

【PowerShell】ファイルを削除

(adsbygoogle = window.adsbygoogle || []).push({}); ファイルを削除するには、Remove-Itemを使います。 構文 Remove-Item [削除したいファイル] Remove-Item C:\Data\tmp\document\仕様書.docx こんな感じです。 ただ、注意しなければいけないのは、読み取り専用ファイルは削除できません。 その場合、-forceパラメータを追加してください。 Remove-Item C:\Data\tmp\document\仕様書.docx...

2014年2月13日

【PowerShell】ファイルの移動

(adsbygoogle = window.adsbygoogle || []).push({}); ファイルの移動は、Move-Itemを使います。 構文 Move-Item [移動したいファイル] [移動先フォルダ] Move-Item C:\Data\tmp\document1\仕様書.docx C:\Data\tmp\document2\ この例では、C:\Data\tmp\document1\仕様書.docx を C:\Data\tmp\document2フォルダに移動します。 ちなみに、Move-Itemは移動先に同じ名前のファイルがあると怒られます。 もし上書きでファイルを移動したい場合は、-forceパラメーターを追加してください。 Move-Item...

2014年2月12日

【PowerShell】上書きコピーしないようにする方法

上書きしないようにコピーするやり方です。 Copy-Item C:\Data\tmp\document\仕様書.docx C:\Data\tmp\backup -confirm Copy-Itemコマンドレットを使用するときに、後ろに-confirmを付けるだけです。 これを実行すると、 確認 この操作を実行しますか? 対象 "項目: C:\Data\tmp\document\仕様書.docx コピー先: C:\Data\tmp\backup\仕様書.docx" に対して操作 "ファイルのコピー"を実行しています。 [Y]...

2014年2月11日

【PowerShell】ファイルをコピーする

(adsbygoogle = window.adsbygoogle || []).push({}); こういったコマンド操作でよく使うと思われるのは、やっぱりファイル操作なんじゃないかと思います。 DOSコマンドでもXCOPYとかDIRはよく使いますからね。 では最初にファイルのコピーをやってみたいと思います。 コピーは、Copy-Itemというコマンドレットを使います。 Copy-Item C:\Data\tmp\image1\001.jpg C:\Data\tmp\image2\ C:\Data\tmp\image1\フォルダにある001.jpgというファイルを、C:\Data\tmp\image2\にコピーするやり方です。 次に複数のファイルをまとめてコピーするやり方です。 Copy-Item...

2014年2月10日

【PowerShell】スクリプトポリシーを設定する

仕事でPoserShellを使ってみようと思って勉強してたんですが、いきなりつまづきました。 Write-Host "Hello world" 例によって、「Hello World!」を表示させるスクリプトを書いたんですが、エラーになっちゃうんですね。 で、いろいろ調べたら、デフォルトでは安全のためにスクリプトが実行できない状態になってるんですね。 実際に確認してみると、 PS C:\work> Get-ExecutionPolicy Restricted Restri...

2014年2月7日

VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (5)

前回、インポートまで終わりました。 今回は、実際にチェックアウトとコミットをやってみたいと思います。 チェックアウト まずはチェックアウトです。 チェックアウトとは、リポジトリから作業コピーを取り出すことをいいます。 最初に、取り出したファイルを格納する作業フォルダを作成しておきます。 今回は、C:\work\HelloWorldというフォルダを作成しました。 このフォルダ上でショートカットメニューを開き、「SVNチェックアウト」を選択します...

2014年2月6日

VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (4)

TortoiseSVNのインストールと設定が出来たところで、では実際にファイルを登録してバージョン管理を行っていきたいと思います。 ここでは、ド定番の「HelloWorld」というC#プロジェクトを登録します。 リポジトリのレイアウト 最初にリポジトリにプロジェクトのフォルダを作成します。 リポジトリブラウザの「repo1」右クリックし、「フォルダの作成」をクリックしま...

2014年2月5日

VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (3)

前回、リポジトリの作成まで終わったので、 今回からクライアント(TortoiseSVN)のほうの作業を進めていきます。 TortoiseSVNのインストール まずは最新版を下記サイトからダウンロードしてください。 http://tortoisesvn.net/downloads.html また下のほうに言語パックもあるので、日本語のものを一緒にダウンロードしてください。 まずは本体のインストールです。 ダウンロードしたファイルを実行します。 「Next」をクリッ...

2014年2月4日

VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (2)

前回、VisualSVN Serverのインストールが完了したところからの続きです。 とりあえず起動してみたいと思います。 起動するとこんな画面が表示されます。 このあとユーザーの作成、リポジトリの作成へと続きます。 (adsbygoogle = window.adsbygoogle || []).push({})...

2014年2月3日

VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (1)

最近、新たにソフトウェアを作ったのでSubversionに登録しようと思ったんですが、残念ながらすっかりやり方を忘れてしまっていました。ほんとに自分の記憶力の無さに嫌気がさすんですが、まあ仕方ないのでネットとかでやり方を調べながらなんとか登録したんですが、せっかくなので同じように困っている人の役に立てばいいかなと思ってブログに載せることにしました。 私がやったのは、VisualSVN ServerとTortoiseSVNを使ったバージョン管理です。 サーバー(Windows Home Server)にVisualSVN Serverを入れて、 クライアント(Windows 7)にTortoiseSVNをインストールします。 たぶん普通のSubversionでもいいと思うんですけど、やっぱりビジュアルなほうが分かりやすいんでこれを使いました。 (adsbygoogle...

2014年1月28日