回答編集履歴

1

コメントに対して補足

2018/07/28 09:26

投稿

imihito
imihito

スコア2166

test CHANGED
@@ -13,3 +13,63 @@
13
13
  [System.Windows.Clipboard]::GetText()
14
14
 
15
15
  ```
16
+
17
+
18
+
19
+ ---
20
+
21
+
22
+
23
+ # 追記
24
+
25
+
26
+
27
+ UWSCは使ったことが無いのでそちらの細かい記法・制限などはわかりませんが、
28
+
29
+ 動かすだけであれば以下の部分の`clipboard`を`(Get-Clipboard)`に変更します。
30
+
31
+
32
+
33
+ ```powershell
34
+
35
+ Rename-Item -NewName { $_.Name -replace '<#DBL>aaa<#DBL>', clipboard }
36
+
37
+ ```
38
+
39
+
40
+
41
+ ```powershell
42
+
43
+ Rename-Item -NewName { $_.Name -replace '<#DBL>aaa<#DBL>', (Get-Clipboard) }
44
+
45
+ ```
46
+
47
+
48
+
49
+ 引数無しで`Get-Clipboard`コマンドレットを使用すると、クリップボード内の文字列を取得できます。
50
+
51
+ そのままだと、他の式の中で使えないため、`()`でくくってその部分だけ先に評価が行われるようにしておきます。
52
+
53
+
54
+
55
+ ## 懸念点
56
+
57
+
58
+
59
+ クリップボードの中に文字列が入っていなくても(`Get-Clipboard`の結果が`""`でも)動いてしまうので、
60
+
61
+ 先に結果を変数に受け取り、その変数を使って条件分岐・処理などを行った方が良いかもしれません。
62
+
63
+
64
+
65
+ ```powershell
66
+
67
+ if ( -not [string]::IsNullOrEmpty( ([string]$clipTxt = Get-Clipboard -Format Text) ) ) {
68
+
69
+ Get-ChildItem C:\Users\Desktop\test* |
70
+
71
+ Rename-Item -NewName { $_.Name -replace '<#DBL>aaa<#DBL>', $clipTxt }
72
+
73
+ }
74
+
75
+ ```