LoginSignup
14
13

More than 5 years have passed since last update.

PowerShellでのファイル操作Tips

Last updated at Posted at 2018-01-02

まえがき

  • ちょっとしたファイル操作なら断然CUIだよね!
  • ずっとcmdを使ってきたけど、PowerShellが出て久しいし、そろそろPowerShellに移行したいなあ
  • Linuxコマンドとcmdコマンドをよく間違える

という人向けに、よく使うPowerShellのTipsをまとめました。

筆者的PowerShellの強い所

  • aliasが充実 → cmdっぽいコマンド名もLinuxっぽいコマンド名も使える
  • 結果をオブジェクトで持っている→パイプで渡してコピーとか移動とか開いたりできる
  • 環境変数がドライブになっている

筆者的PowerShellの弱い所

  • 起動が重い
  • 結果が長い文字列だと見切れる
  • 文字コードに一部対応してない(EUCとか)

Tips

PowerShellのコマンドの主なalias

正式名称 cmdライク Linuxライク
Set-Location cd cd
Get-ChildItem dir ls
Clear-Host cls clear
Move-Item move mv
Copy-Item copy cp
Get-Content type cat
Remove-Item del / rmdir rm
Get-Help help man

ちなみに、PowerShellのaliasには二種類ある(っぽい)

  1. Get-Aliasコマンドで一覧化されているものはそれを使える。(例:Move-Item → mv)
  2. Get-で始まるコマンドは、Get-を省略できる。(例:Get-Help → help)

結果がオブジェクトであることの活用

サブフォルダにあるhogehogeって名前を含むファイルを全部C:\dest にコピー

> ls -R *hogehoge* | copy -D C:\dest

サブフォルダにあるhogehogeって名前を含む拡張子がxlsxのファイルを全部開く

> ls -R *hogehoge*xlsx | ii

環境変数まわり

env:というドライブに各環境変数がフォルダで管理されている形になっている。
(完全にフォルダと同一ではなさそうなことに注意)

環境変数を参照する

$env:(環境変数名)
で参照できる。
ちなみに%~%では参照できません!

Pathを参照する場合
> echo $env:Path

環境変数一覧を取得

> ls $env:

環境変数のタブ補完

> env:userp[TAB]

> Env:\USERPROFILE

結果のsplit表示

> $env:Path.split(';');

C:\Program Files (x86)\Intel\iCLS Client\
C:\Program Files\Intel\iCLS Client\
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\Users\Tosh\AppData\Local\Microsoft\WindowsApps

ホームディレクトリ(%USERPROFILE%)へ移動

> cd ~
もちろん環境変数の参照でも可能
> cd $env:USERPROFILE

mavenのrepositoryディレクトリに移動したいなら

>cd ~\.m2\repository

その他

デフォルトのエクスプローラを開く

> ii

hogehogeというコマンドのオンラインヘルプを開く

>man hogehoge -o

PowerShellではうまくいかないこと

EUCファイル

EUCファイルのファイルを見るのはPowerShellでは無理っぽいです。
使うならcmdを使いましょう。

下記はcmdにて実行。
>chcp 20932
>type hogehoge.txt

終わりに

他に思いついたら足していきます

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13