質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

4回答

568閲覧

PowerShell:特定文字列のファイルだけコピー

kobytyan

総合スコア2

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2024/04/11 06:51

実現したいこと

PowerShellで特定の文字列だけが含まれるファイルをコピーしたいです。

例)20240411が含まれるファイルのみコピー
コピー元

test1_20240411.txt
test2_20240411.txt
test3_20240411.txt
test1_20240412.txt
test1_20240413.txt

コピー先

test1_20240411.txt
test2_20240411.txt
test3_20240411.txt

発生している問題・分からないこと

実行するコマンドレッドがわからない

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

インターネットでコマンドレットを検索したが、実施できなかった

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

「ファイル(の中味)に20240411が含まれる」じゃなくて、「ファイル名に20240411が含まれる」ですよね?

copy *20240411* D:\to_dir

で、Powershellでもバッチファイル(BAT)でも動きます。

投稿2024/04/11 07:59

otn

総合スコア85766

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

以下で解決しました
$a = (Get-CfildIten “path” ).FullName | Select-String -Pattern “string”

Copy-Item $a -Destination “path”

投稿2024/04/11 08:44

kobytyan

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2024/04/11 11:12

解決したのはよかったのですが、ワイルドカードを使わなかったのはなぜでしょう?
kobytyan

2024/04/11 11:16

シェル作成依頼者にワイルドカードの使用を控えて欲しいと言われてしまったためです。 その旨記載するべきでした、、、
otn

2024/04/13 07:36

> シェル作成依頼者にワイルドカードの使用を控えて欲しいと言われてしまったためです。 PowerShellの研修課題だったということですかね。であれば自力で解決できて良かったです。
guest

0

ファイル名にワイルドカードを使えばできると思いますよ。

https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-7.4

投稿2024/04/11 07:54

TakaiY

総合スコア13687

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kobytyan

2024/04/11 07:57

回答ありがとうございます。 問題が解決しました!
guest

0

ChatGPT3.5さんに聞いてきました

powershell

1# コピー元ディレクトリのパス 2$sourceDirectory = "C:\temp\src" 3# コピー先ディレクトリのパス 4$destinationDirectory = "C:\temp\dst" 5# 特定の文字列 6$searchString = "20240411" 7# コピー元ディレクトリ内のファイルをフィルタリングしてコピーする 8Get-ChildItem -Path $sourceDirectory -Filter "*$searchString*" | Copy-Item -Destination $destinationDirectory

投稿2024/04/11 07:51

poto568

総合スコア297

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kobytyan

2024/04/11 07:58

回答ありがとうございます。 問題が解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問