PowerShell/PowerShellでファイル名の一部を変更するサンプルスクリプト
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* PowerShellでファイル名の一部を変更するサンプルスクリプ...
「複数のファイル名の一部を一気に変更したい」場合に記事が...
尚、サンプルコードなので、ファイル名に[]やスペースが存在...
必要に応じてバッククオートのエスケープ処理を追加してくだ...
''当サイトの資料により直接的および間接的障害が生じても一...
#contents
* 動作確認環境 [#k43be80b]
-PowerShell
PS D:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 3031
- Windows 10 バージョン 22H2
* ファイル名の一部を変更するPowerShellサンプルコード [#s7...
以下のようにカレントディレクトリ内に、ファイルとフォルダ...
実行例では、以下のファイル(除くディレクトリ)の ''123'' ...
PS D:\TestDir> Get-ChildItem
ディレクトリ: D:\TestDir
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/08/09 20:45 direct...
-a---- 2023/08/09 20:44 6 123.txt
-a---- 2023/08/09 20:45 6 321234...
-a---- 2023/08/09 20:44 6 a123z....
-a---- 2023/08/09 20:45 6 bar.txt
-a---- 2023/08/09 20:45 6 foo.txt
-a---- 2023/08/09 20:45 6 hoge12...
* ファイル名を変更するPowerShellサンプルコード [#b11b987a]
サンプルコードなので、ファイル名に[]やスペースが存在する...
Function ReplaceFileName([string]$find, [string]$replace...
if (($find -ne "") -And ($replace -ne "")) {
# カレントディレクトリのファイルのみ対象する
$targetFiles = Get-ChildItem * | Where-Object { (Tes...
# 取得したファイル数分ループ
foreach ($item in $targetFiles) {
$newFileName = $item.Name.Replace($find, $replace)
if ($newFileName -ne $item.Name) {
# ファイル名が変わる対象ファイルのみコマンドをタ...
# ファイル名を変更するコマンドを出力しているので...
Write-Host Rename-Item $item.Name $newFileName
}
}
}
else {
Write-Host "Usage: "$myInvocation.MyCommand.name" fi...
}
}
* サンプルコードの使い方 [#y1b77cc0]
サンプルコードの Function は以下のように呼び出します。
ReplaceFileName 変更前文字列, 変更後文字列
引数を渡さず実行すると以下のように Usage が表示されます。
PS D:\TestDir> ReplaceFileName
Usage: ReplaceFileName findString replaceString
対象はカレントディレクトリのみです。サブディレクトリは対...
* 実行例 [#m0e9a8f0]
変更前文字列に 123 、変更後文字列に XYZ を指定して実行し...
ファイル名変更の Rename-Item を使ったコマンドが出力されま...
対象ファイルが無い場合は何も表示されず終了します。
PS D:\TestDir> ReplaceFileName 123 XYZ
Rename-Item 123.txt XYZ.txt
Rename-Item 3212345.txt 32XYZ45.txt
Rename-Item a123z.txt aXYZz.txt
Rename-Item hoge123hoge.txt hogeXYZhoge.txt
PS D:\TestDir>
以上、PowerShellでファイル名の一部を変更するサンプルスク...
終了行:
#navi(../)
* PowerShellでファイル名の一部を変更するサンプルスクリプ...
「複数のファイル名の一部を一気に変更したい」場合に記事が...
尚、サンプルコードなので、ファイル名に[]やスペースが存在...
必要に応じてバッククオートのエスケープ処理を追加してくだ...
''当サイトの資料により直接的および間接的障害が生じても一...
#contents
* 動作確認環境 [#k43be80b]
-PowerShell
PS D:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 3031
- Windows 10 バージョン 22H2
* ファイル名の一部を変更するPowerShellサンプルコード [#s7...
以下のようにカレントディレクトリ内に、ファイルとフォルダ...
実行例では、以下のファイル(除くディレクトリ)の ''123'' ...
PS D:\TestDir> Get-ChildItem
ディレクトリ: D:\TestDir
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/08/09 20:45 direct...
-a---- 2023/08/09 20:44 6 123.txt
-a---- 2023/08/09 20:45 6 321234...
-a---- 2023/08/09 20:44 6 a123z....
-a---- 2023/08/09 20:45 6 bar.txt
-a---- 2023/08/09 20:45 6 foo.txt
-a---- 2023/08/09 20:45 6 hoge12...
* ファイル名を変更するPowerShellサンプルコード [#b11b987a]
サンプルコードなので、ファイル名に[]やスペースが存在する...
Function ReplaceFileName([string]$find, [string]$replace...
if (($find -ne "") -And ($replace -ne "")) {
# カレントディレクトリのファイルのみ対象する
$targetFiles = Get-ChildItem * | Where-Object { (Tes...
# 取得したファイル数分ループ
foreach ($item in $targetFiles) {
$newFileName = $item.Name.Replace($find, $replace)
if ($newFileName -ne $item.Name) {
# ファイル名が変わる対象ファイルのみコマンドをタ...
# ファイル名を変更するコマンドを出力しているので...
Write-Host Rename-Item $item.Name $newFileName
}
}
}
else {
Write-Host "Usage: "$myInvocation.MyCommand.name" fi...
}
}
* サンプルコードの使い方 [#y1b77cc0]
サンプルコードの Function は以下のように呼び出します。
ReplaceFileName 変更前文字列, 変更後文字列
引数を渡さず実行すると以下のように Usage が表示されます。
PS D:\TestDir> ReplaceFileName
Usage: ReplaceFileName findString replaceString
対象はカレントディレクトリのみです。サブディレクトリは対...
* 実行例 [#m0e9a8f0]
変更前文字列に 123 、変更後文字列に XYZ を指定して実行し...
ファイル名変更の Rename-Item を使ったコマンドが出力されま...
対象ファイルが無い場合は何も表示されず終了します。
PS D:\TestDir> ReplaceFileName 123 XYZ
Rename-Item 123.txt XYZ.txt
Rename-Item 3212345.txt 32XYZ45.txt
Rename-Item a123z.txt aXYZz.txt
Rename-Item hoge123hoge.txt hogeXYZhoge.txt
PS D:\TestDir>
以上、PowerShellでファイル名の一部を変更するサンプルスク...
ページ名: