Enviar pesquisa
Carregar
PowerShellが苦手だった男がPowerShellを愛するようになるまで
•
36 gostaram
•
28,630 visualizações
Kazuhiro Matsushima
Seguir
PowerShell とのお付き合い事始めです。初心者が PowerShell で躓くところ(実際引っかかった)を実体験を踏まえて紹介します。(主催者により記述編集)
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 52
Baixar agora
Baixar para ler offline
Recomendados
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Nginx Unitを試してみた話
Nginx Unitを試してみた話
Takehiro Torigaki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
目grep入門 +解説
目grep入門 +解説
murachue
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
Recomendados
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Nginx Unitを試してみた話
Nginx Unitを試してみた話
Takehiro Torigaki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
目grep入門 +解説
目grep入門 +解説
murachue
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
なおき きしだ
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
AS45679 on FreeBSD
AS45679 on FreeBSD
Tomocha Potter
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
Shohei Miyashita
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
Iwamoto Nana
例外設計における大罪
例外設計における大罪
Takuto Wada
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
MySQLトラブル解析入門
MySQLトラブル解析入門
Mikiya Okuno
Java8でRDBMS作ったよ
Java8でRDBMS作ったよ
なおき きしだ
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
icchy
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
Write-Help
Write-Help
和紀 大鷲
Mais conteúdo relacionado
Mais procurados
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
なおき きしだ
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
AS45679 on FreeBSD
AS45679 on FreeBSD
Tomocha Potter
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
Shohei Miyashita
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
Iwamoto Nana
例外設計における大罪
例外設計における大罪
Takuto Wada
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
MySQLトラブル解析入門
MySQLトラブル解析入門
Mikiya Okuno
Java8でRDBMS作ったよ
Java8でRDBMS作ったよ
なおき きしだ
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
icchy
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
Mais procurados
(20)
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
Mavenの真実とウソ
Mavenの真実とウソ
AS45679 on FreeBSD
AS45679 on FreeBSD
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
Googleスプレッドシートで管理している家計簿をFirebaseを使ってWEBアプリ化してみた件
例外設計における大罪
例外設計における大罪
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
MySQLトラブル解析入門
MySQLトラブル解析入門
Java8でRDBMS作ったよ
Java8でRDBMS作ったよ
Pythonによる黒魔術入門
Pythonによる黒魔術入門
CPUの同時実行機能
CPUの同時実行機能
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Semelhante a PowerShellが苦手だった男がPowerShellを愛するようになるまで
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
Write-Help
Write-Help
和紀 大鷲
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
Eric Sartre
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
Kinuko Yasuda
High performance python computing for data science
High performance python computing for data science
Takami Sato
PHP でも活用できる Makefile
PHP でも活用できる Makefile
Shohei Okada
簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
yokoda_toshiaki
PyPy 紹介
PyPy 紹介
shoma h
デプロイに苦労した話
デプロイに苦労した話
tetuwo181
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
2011年10月21日
2011年10月21日
nukaemon
LL Onsen 2008 OpenPrinting
LL Onsen 2008 OpenPrinting
Naruhiko Ogasawara
レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発
Naoyuki Kataoka
of_protocol_tremaday5
of_protocol_tremaday5
エイシュン コンドウ
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?
Tetsuo Mitsuda
Semelhante a PowerShellが苦手だった男がPowerShellを愛するようになるまで
(20)
5分でわかる静的解析入門
5分でわかる静的解析入門
Write-Help
Write-Help
勉強会 Cvml python基礎
勉強会 Cvml python基礎
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
High performance python computing for data science
High performance python computing for data science
PHP でも活用できる Makefile
PHP でも活用できる Makefile
簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
PyPy 紹介
PyPy 紹介
デプロイに苦労した話
デプロイに苦労した話
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
2011年10月21日
2011年10月21日
LL Onsen 2008 OpenPrinting
LL Onsen 2008 OpenPrinting
レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発
of_protocol_tremaday5
of_protocol_tremaday5
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Glibc malloc internal
Glibc malloc internal
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?
Último
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Último
(12)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
PowerShellが苦手だった男がPowerShellを愛するようになるまで
1.
1 PowerShell が苦手だった男が PowerShell を愛するようになるまで ガブ
/ @gab_km 2014/07/12 第 3 回 PowerShell 勉強会
2.
2 お前だれよ ● 拝承系 SIer
勤務のしがないエンジニア ● .NET 開発者、特に F# 界隈の人 ● Python や D 言語にも興味あり ● もちろん PowerShell もね!
3.
3 今日話すこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか
4.
4 かつての僕
5.
5 かつての僕 この時点 (2011/03/24) の
2 年前なので、 2009 年頃には PowerShell に手を出していた模様。
6.
6 何が苦手だったか という感じの躓き方をしていた。 当時の記憶を思い出してみると、 ● コマンド体系が bat
から結構変わっている ( ように見えた ) ● 今まで bat で出来ていたことが、 PowerShell だとすぐに出 来なかった
7.
7 今はどうか
8.
8 今はどうか これが去年 (2013) の春のこと。 1
年ちょっと、いろんなものを PowerShell で書くようにし ていたら、それなりに出来るようになってきた。
9.
9 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。
10.
10 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。 ↓ Python を覚えて、これらの起動時処理を Python で全て書き 直した。 (Python の勉強に役立った )
11.
11 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。 ↓ Python を覚えて、これらの起動時処理を Python で全て書き 直した。 (Python の勉強に役立った ) ↓ PowerShell の勉強のために、起動時処理を PowerShell で 改めて書き直した。
12.
12 実例その 2
13.
13 実例その 2 Chocolatey がなかなか良い感じなんだけど、某拝承系
SIer の作業環境はプロキシの壁の中。 なので、 chocolatey install がプロキシ経由でも上手く いくように Pull Request を投げてみた。
14.
14 実例その 2 Chocolatey がなかなか良い感じなんだけど、某拝承系
SIer の作業環境はプロキシの壁の中。 なので、 chocolatey install がプロキシ経由でも上手く いくように Pull Request を投げてみた。 ※2014/07/12 現在、絶賛放置中
15.
15 実例その 3
16.
16 実例その 3 # どこのメーカーかはお察し Get-ChildItem
| Where { $_.Name.StartsWith("MAKERNAME") } | ForEach { Rename-Item $_ -newname ($(Get-ItemProperty $_).LastWriteTime.ToString("yyyyMMdd_hhmm") + ".MP4") }
17.
17 何が分かって苦手じゃなくなったか この辺りができるように調べながらやり方を覚えていくことで PowerShell を書くことが苦手じゃなくなった。 ● ファイルの指定と実行 ●
ファイルに対する操作 ● パイプライン操作
18.
18 何が分かって苦手じゃなくなったか この辺りができるように調べながらやり方を覚えていくことで PowerShell を書くことが苦手じゃなくなった。 ● ファイルの指定と実行 ●
ファイルに対する操作 ● パイプライン操作 もし PowerShell に苦手意識を感じている方でも、この 3 つ ができれば、最初の大きなハードルが乗り越えられると思う。
19.
19 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
20.
20 ファイルの指定と実行 PS> notitle.ps1 カレントディレクトリに作成した notitle.ps1
というスク リプトファイル。 これを実行しようと上のように入力してみた。 うまく行けば “ Hello, there!” という文字列が表示され る。
21.
21 ファイルの指定と実行 PS> notitle.ps1 notitle.ps1 :
用語 'notitle.ps1' は、コマンドレット、関数、スクリ プト ファイル、または操作可能なプ ログラムの名前として認識されません。名前が正しく記述されていることを確認 し、パスが含まれている場合 はそのパスが正しいことを確認してから、再試行してください。 発生場所 行 :1 文字 :1 + notitle.ps1 + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (notitle.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS>
22.
22 ファイルの指定と実行 PS> notitle.ps1 notitle.ps1 :
用語 'notitle.ps1' は、コマンドレット、関数、スクリ プト ファイル、または操作可能なプ ログラムの名前として認識されません。名前が正しく記述されていることを確認 し、パスが含まれている場合 はそのパスが正しいことを確認してから、再試行してください。 発生場所 行 :1 文字 :1 + notitle.ps1 + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (notitle.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS> ターミナル上では補完が効く話ではあるけれど、単純に .bat から .ps1 に書き換えてる時にこのつらみが…。
23.
23 ファイルの指定 (1) 絶対パスを使う PS>
C:myposhnotitle.ps1
24.
24 ファイルの指定 (1) 絶対パスを使う PS>
C:myposhnotitle.ps1 Hello, there! PS> これは確実な方法だが、多少冗長な面は否めない。
25.
25 ファイルの指定 (2)'.' を使う PS>
.notitle.ps1
26.
26 ファイルの指定 (2)'.' を使う PS>
.notitle.ps1 Hello, there! PS> カレントディレクトリにあるファイルを指定したい場合、パス の先頭に '.' を付与する。
27.
27 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript ファイルを実行する際、先述の方法では上手くいかない場合が ある。
28.
28 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript C:myposhnotitle.ps1 PS>
29.
29 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript C:myposhnotitle.ps1 PS> 実行後、周囲に漂うソウジャナイヨ感は、殺伐としたギョームにおける 一服の清涼剤となる。 # ならない
30.
30 ファイルの実行 (1) '&'
を使う PS> & $myScript Hello, there! PS> こういう場合、実行したいパスをアンパサンド (&) に渡すこ とで実行できる。 アンパサンドとパスは、間のスペースの有無にかかわらず動作 する。
31.
31 ファイルの実行 (2) '.'
を使う PS> . $myScript Hello, there! PS> 同じような場面で、ドット (.) を使うことで指定したパスに あるファイルを実行する。 この方法を「ドットソース形式での読み込み」と言う。
32.
32 ファイルの実行 (2) '.'
を使う PS> . $myScript Hello, there! PS> 同じような場面で、ドット (.) を使うことで指定したパスに あるファイルを実行する。 この方法を「ドットソース形式での読み込み」と言う。 詳しくは検索するか、会場にいる PowerShell のこわい人た ちに聞いてみてください ( ◜◡◝ )
33.
33 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
34.
34 ファイルに対する操作 ● コピー ● リネーム ●
削除 ファイルに対して、以下の操作を行いたいことが多かった。
35.
35 ファイルに対する操作 古き良きコマンドプロンプトのコマンドを使えなくはない。 … が、せっかく PowerShell
に手を出したんだから、コマン ドレットを使いたいという意識の高さがあった。 ● コピー ● リネーム ● 削除 ファイルに対して、以下の操作を行いたいことが多かった。
36.
36 ファイルのコピー (1) PS> Copy-Item
-Path .notitle.ps1 -Destination C:myetc PS> ls C:myetc | where Name -eq notitle.ps1 ディレクトリ : C:myetc Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2014/07/11 23:42 31 notitle.ps1 PS> とりあえず、 Copy-Item を使う。
37.
37 ファイルのコピー (2) PS> Get-ChildItem
C:myetc | % { $_.Name } PS> Copy-Item -Path C:myposhn* -Destination C:myetc PS> Get-ChildItem C:myetc | % { $_.Name } Copy-Item の -Path パラメータ、ワイルドカードをmgmg してくれるので、以下のような使い方ができる。
38.
38 ファイルのコピー (2) PS> Get-ChildItem
C:myetc | % { $_.Name } PS> Copy-Item -Path C:myposhn* -Destination C:myetc PS> Get-ChildItem C:myetc | % { $_.Name } notitle.ps1 nanimoyarukishinai.txt PS> Copy-Item の -Path パラメータ、ワイルドカードをmgmg してくれるので、以下のような使い方ができる。
39.
39 ファイルのリネーム PS> ls |
% { $_.Name } notitle.ps1 PS> Rename-Item -Path .notitle.ps1 -NewName foobar.ps1 PS> ls | % { $_.Name } foobar.ps1 PS> こちらも、とりあえず Rename-Item を使う。
40.
40 ファイルの削除 PS> ls |
% { $_.Name } notitle.ps1 PS> Remove-Item .notitle.ps1 PS> ls | % { $_.Name } PS> Remove-Item を使う。
41.
41 ファイルの削除 PS> ls |
% { $_.Name } notitle.ps1 PS> Remove-Item .notitle.ps1 PS> ls | % { $_.Name } PS> Remove-Item を使う。 PowerShell は「動詞 - 目的語」という名前でコマンドレッ トが定義されており、直感的に探しやすい。
42.
42 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
43.
43 パイプライン操作 「 PowerShell といえばパイプライン、
44.
44 パイプライン操作 「 PowerShell といえばパイプライン、 パイプラインといえば
F# PowerShell 」という関係。
45.
45 パイプライン操作 の 2 つに大別されると思う。
(※ 個人の感想です ) ● フィルター ● 逐次 「 PowerShell といえばパイプライン、 パイプラインといえば F# PowerShell 」という関係。 パイプラインでやりたい操作といえば
46.
46 パイプライン操作 - フィルター @("hoge",
"fuga", "bar") | where { $_.Length -eq 4 } # "hoge" # "fuga" パイプラインの基本操作といえば、やはりフィルター。 条件ブロックを渡した Where-Object を通すことで、その 条件にマッチした要素だけが残る。
47.
47 パイプライン操作 - フィルター @("hoge",
"fuga", "bar") | where { $_.Length -eq 4 } # "hoge" # "fuga" パイプラインの基本操作といえば、やはりフィルター。 条件ブロックを渡した Where-Object を通すことで、その 条件にマッチした要素だけが残る。 $_ はパイプライン先で要素を指す変数。 パイプライン操作を覚え始めた頃は、何故か覚えられなくてい つもぐぐっていた…。
48.
48 パイプライン操作 - 逐次
(1) @("hoge", "fuga", "bar") | foreach { $_.ToUpper() } # "HOGE" # "FUGA" # “BAR” パイプラインで渡されたコレクションの各要素に対し て、 ForEach-Object に渡したブロックの処理を行う。 皆さんがお使いの関数型言語でいうところの、 map や iter と だいたい同じ役割になる。
49.
49 パイプライン操作 - 逐次
(2) @(1 .. 3) | % { $_ + 2 } # 3 # 4 # 5 foreach には % という略記号が用意されているので便利。
50.
50 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか
51.
51 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか ● ファイルの指定と実行 ● ファイルに対する操作 ● パイプライン操作
52.
52 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか ● ファイルの指定と実行 ● ファイルに対する操作 ● パイプライン操作 すごい PowerShell いっぱい遊ぼう!
Baixar agora