2014年3月7日
2014年3月6日
【Access】独自メニューバーが他のファイルでも表示される
2014年3月6日 (木) 16:28 in Access , VBA
今日たまたま気づいたんですが、以前作ったAccessの独自メニューバーが、デフォルトで新規作成されたファイルにも表示されていたんです。
マジでビックリです。
ヤバいですよコレ。
だって、以前お客さんに作ったAccessのシステムのメニューが表示されちゃってんだもん。
ちょっと試しに新たにメニューバーを追加してみたんですけど、
やっぱり新規作成したものにもデフォルトで出てきますね。
Access2010なんでアドインのところに表示されています。
この現象が自分のPC内だけならいいんですけど、
まさか別の顧客のシステムにも勝手に表示されちゃってるなんてことないよね?
たぶんないことを祈りつつ、とりあえず削除する方法を探してみました。
2014年3月5日
【PowerShell】SQL Serverのデータベースを復元
2014年3月5日 (水) 17:21 in 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" -QueryTimeout 300
TESTDBはデータベース名です。
FROM DISKでファイル名を指定しています。
WITH REPLACEは上書きでの復元という意味です。
<参考サイト>
Invoke-Sqlcmd コマンドレット
RESTORE (Transact-SQL)
RESTORE の引数 (Transact-SQL)
2014年3月3日
【PowerShell】SQL Serverのデータベースバックアップ
2014年3月3日 (月) 17:21 in PowerShell , SQL Server
システムでSQL Serverを使うことがあるのですが、コマンドで操作することがよくあります。
PowerShellでも当然SQL Serverを扱えるようになっています。
たとえばデータベースのバックアップは次のように行います。
まず、PowerShellを管理者権限で立ち上げ、
SQLPSと打ち込んでください。
このSQLPSユーティリティ(SQLPS.exe)を実行すると、コマンドレットやスクリプトでSQL Serverのインスタンスとそのオブジェクトを操作出来るようになるみたいです。
ただ、TechNetをいま見たらこの機能は将来削除される予定らしいです。
代わりにsqlps PowerShell モジュールを使ってくれとのことです。
まあちょっと時代遅れになってしまってるんですけど、今回はこのやり方で。
それで、データベースのバックアップですが、次のように行います。
Invoke-Sqlcmd "BACKUP DATABASE TESTDB TO DISK = 'C:\work\backup\TESTDB.bak' WITH FORMAT, NAME = 'TESTDB_20140303'" -ServerInstance "SVRNAME\SQLEXPRESS" -QueryTimeout 300
TESTDBというのはデータベース名です。
あと、NAMEというのは、バックアップセット名です。
<参考サイト>
BACKUP (Transact-SQL)
SQL Server PowerShell を使用した管理手法 第 2 回 実践編
Invoke-Sqlcmd コマンドレット
2014年2月28日
【PowerShell】2つのファイルを比較する
2014年2月28日 (金) 8:55 in PowerShell
よく、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 は、比較の対象となるオブジェクトを示しています。
-DifferenceObject は、Reference オブジェクトと比較するオブジェクトを指定します。
$()はそれぞれGet-Contentで取得したオブジェクトが格納された変数?になるのだと思います。
すみません勉強不足でちょっと表現があいまいなのですが、おそらく変数だと思います。
それで結果は次のようになります。
この場合、両方のファイルには含まれていないが、どちらか一方のファイルに含まれている行のみを表示します。
つまり変更点だけ表示されます。
2014年2月27日
【PowerShell】サブフォルダのファイルも含めて文字列を検索する
2014年2月27日 (木) 8:47 in PowerShell
指定した文字列を含んだファイルを探すとき、たいていの場合サブフォルダも含んだ状態で検索すると思うのですが、そういった場合は次のように行います。
Get-ChildItem . -include *.txt -Recurse -Force | Select-String "たぬき" -Encoding default
はじめの
Get-ChildItem . -include *.txt -Recurse
は、現在のディレクトリとそのサブディレクトリ内にある.txtファイルを全て取得しています。
ドット (.) は現在のディレクトリを表しています。
Includeはファイル名の拡張子を指定しています。
Recurseは再帰的にオブジェクトを取得することを意味します。
また、Forceを付けることにより隠しファイルも取得されます。
そして、取得したオブジェクトをパイプラインでSelect-Stringに渡しています。
うしろに付いている -Encoding defaultは日本語(S-JIS)を扱う場合のパラメータです。
<関連記事>
【PowerShell】ファイル検索
【PowerShell】ファイルから文字列を検索する
【PowerShell】2つのファイルを比較する
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成
2014年2月26日
【PowerShell】ファイルから文字列を検索する
2014年2月26日 (水) 6:30 in PowerShell
ファイルに含まれる文字列を検索する、いわゆるgrep機能を行うにはSelect-Stringを使います。
構文は以下の通りです。
または、
Select-String [検索したい文字列] [検索するファイル]
PS C:\work> Select-String "hello" .\*.*
上の例では、カレントディレクトリのワイルドカード「*.*」のファイルの中から「hello」という文字が含まれているファイルを探しています。
ちなみに日本語を検索する場合はちょっと注意が必要です。
PS C:\work> Select-String "たぬき" .\*.* -Encoding default
文字コードがS-JISで作成されたファイルを検索する場合は、うしろに-Encoding defaultを付けてください。
UTF8の場合は、-Encoding UTF8と指定してください。
<関連記事>
【PowerShell】サブフォルダのファイルも含めて文字列を検索する
【PowerShell】ファイル検索
【PowerShell】2つのファイルを比較する
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成
2014年2月25日
【PowerShell】ファイル検索
2014年2月25日 (火) 8:00 in PowerShell
PowerShellでファイルを検索するには、Get-ChildItemを使います。
基本構文は次の通りです。
PS C:\work> Get-ChildItem "*.jpg"
この例では、C:\data\tmpでjpg拡張子の付くファイルを検索しています。
ちなみにこの方法だと、そのフォルダ内しか検索してくれません。
サブフォルダも検索したい場合は、-Recurseをつけます。
PS C:\work> Get-ChildItem C:\data\tmp "*.jpg" -Recurse
ただここで注意しなければいけないのは、検索を開始する親フォルダを指定しないといけないことです。
上の例では、C:\data\tmpの部分です。
<関連記事>
【PowerShell】ファイルから文字列を検索する
【PowerShell】ファイルをコピーする
【PowerShell】ファイルを削除
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成
2014年2月24日
【PowerShell】ファイルに追記する
2014年2月24日 (月) 8:28 in PowerShell
2014年2月21日
【PowerShell】ファイルに書き込み
2014年2月21日 (金) 7:52 in PowerShell
2014年2月20日
【PowerShell】ファイル作成
2014年2月20日 (木) 7:21 in PowerShell
PowerShellでファイルを作成するには、New-Itemを使います。
PS C:\work> New-Item -Path [ファイル名] -Value [ファイルの内容] -Type file
ちなみに-Pathと-Valueは省略できます。
-Typeはfile以外にdirectoryもあって、directoryを指定するとフォルダが作成されます。
-Valueに指定すると、内容を書き込んでファイルを作成してくれます。
PS C:\work> New-Item -Path C:\work\Hello.txt -Value "Hello!" -Type file
この例では、"Hello!"と書き込んだC:\work\Hello.txtファイルを作成しています。
<関連記事>
【PowerShell】ファイルをコピーする
【PowerShell】ファイルの移動
【PowerShell】ファイルを削除
【PowerShell】ファイルを読み込む
【PowerShell】ファイル検索
2014年2月19日
【PowerShell】ファイルを読み込む
2014年2月19日 (水) 6:53 in PowerShell
PowerShellでファイルを読み込むにはGet-Contentコマンドレットを使います。
PS C:\work> Get-Content -Path [表示させたいファイル名]
ちなみに、-Pathは省略できます。
<関連記事>
【PowerShell】ファイル作成
【PowerShell】ファイルをコピーする
【PowerShell】ファイルを削除
【PowerShell】ファイル検索
【PowerShell】フォルダを移動する
2014年2月18日
【PowerShell】コマンドレットのヘルプを表示する
2014年2月18日 (火) 7:14 in PowerShell
PowerShellを使っててヘルプを見たいと思ったのですが、DOSプロンプトみたいに/?を打ち込んでも「そんなパラメーターは存在しないぞ!」って怒られてしまうんですよね。
で、調べたら次のようにやるみたいです。
たとえばCopy-Itemのヘルプは、
PS C:\work> Copy-Item -?
これが一番簡単なやり方なんですが、-?を付けるだけです。
なんでスラッシュじゃねぇんだよと思いますがこうするんですね。
それで、あと他に2つやり方があります。
PS C:\work> Help Copy-Item
PS C:\work> Get-Help Copy-Item
Help [コマンドレット名]
または
Get-Help [コマンドレット名]
2014年2月17日
【PowerShell】フォルダの削除
2014年2月17日 (月) 6:52 in PowerShell
フォルダを削除するには、ファイルと同じでRemove-Itemを使います。
構文
例えば、C:\Data\tempフォルダを削除する場合は、
Remove-Item C:\Data\temp
こうなるんですが、
ただ、注意してほしいのは、削除したいフォルダの中にサブフォルダが含まれていると確認のメッセージが表示されます。
確認 C:\Data\temp の項目には子があり、Recurse パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
こんな感じです。
そのまま削除する場合は、Enterを押すか、Yを入力してEnterを押してください。
2014年2月14日
【PowerShell】ファイルを削除
2014年2月14日 (金) 5:31 in PowerShell
ファイルを削除するには、Remove-Itemを使います。
構文
Remove-Item C:\Data\tmp\document\仕様書.docx
こんな感じです。
ただ、注意しなければいけないのは、読み取り専用ファイルは削除できません。
その場合、-forceパラメータを追加してください。
Remove-Item C:\Data\tmp\document\仕様書.docx -force
こんな感じです。
<関連記事>
【PowerShell】ファイルをコピーする
【PowerShell】ファイルの移動
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成
【PowerShell】ファイルを削除
2014年2月13日
【PowerShell】ファイルの移動
2014年2月13日 (木) 7:05 in PowerShell
ファイルの移動は、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 C:\Data\tmp\document1\仕様書.docx C:\Data\tmp\document2\ -force
こんな感じです。
2014年2月12日
【PowerShell】上書きコピーしないようにする方法
2014年2月12日 (水) 9:07 in 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] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
このようなメッセージが表示されます。
実行する場合はそのままEnterか、Yを入力してEnterです。
<関連記事>
【PowerShell】ファイルをコピーする
【PowerShell】ファイルの移動
【PowerShell】ファイルを削除
【PowerShell】ファイルを読み込む
2014年2月11日
【PowerShell】ファイルをコピーする
2014年2月11日 (火) 6:36 in PowerShell
こういったコマンド操作でよく使うと思われるのは、やっぱりファイル操作なんじゃないかと思います。
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 C:\Data\tmp\image1\* C:\Data\tmp\image2\
C:\Data\tmp\image1\フォルダにある全てのファイルを、C:\Data\tmp\image2\にコピーするやり方です。
ちなみに、コピー先のフォルダに同じ名前のファイルがあっても、有無を言わさず上書きコピーされちゃいます。
他に上書きコピーしないやり方があるのかもしれませんが、注意しないといけないですね。
<関連記事>
【PowerShell】ファイルの移動
【PowerShell】ファイルを削除
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成
【PowerShell】ファイル検索
2014年2月10日
【PowerShell】スクリプトポリシーを設定する
2014年2月10日 (月) 7:15 in PowerShell
2014年2月7日
VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (5)
2014年2月7日 (金) 7:14 in Subversion , TortoiseSVN , VisualSVN Server
2014年2月6日
VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (4)
2014年2月6日 (木) 7:21 in Subversion , TortoiseSVN , VisualSVN Server
ここでは、ド定番の「HelloWorld」というC#プロジェクトを登録します。
最初にリポジトリにプロジェクトのフォルダを作成します。
2014年2月5日
VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (3)
2014年2月5日 (水) 7:37 in Subversion , TortoiseSVN , VisualSVN Server
今回からクライアント(TortoiseSVN)のほうの作業を進めていきます。
TortoiseSVNのインストール
まずは最新版を下記サイトからダウンロードしてください。
http://tortoisesvn.net/downloads.html
また下のほうに言語パックもあるので、日本語のものを一緒にダウンロードしてください。
まずは本体のインストールです。
ダウンロードしたファイルを実行します。
2014年2月4日
VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (2)
2014年2月4日 (火) 6:25 in Subversion , TortoiseSVN , VisualSVN Server
2014年2月3日
VisualSVN ServerとTortoiseSVNを使ってバージョン管理 (1)
2014年2月3日 (月) 6:30 in Subversion , TortoiseSVN , VisualSVN Server
サーバー(Windows Home Server)にVisualSVN Serverを入れて、
クライアント(Windows 7)にTortoiseSVNをインストールします。
たぶん普通のSubversionでもいいと思うんですけど、やっぱりビジュアルなほうが分かりやすいんでこれを使いました。