批量复制和重命名文件到相同的各自目录(CLI/PowerShell)
Mass Copy and Rename files into same respective directories (CLI/PowerShell)
假设我有一个名为 api-build009.jar
的文件,它存在于多个目录中。
D:\InstallDir\subdir1\
D:\InstallDir\subdir2\subdir21\
D:\InstallDir\subdir3\
D:\InstallDir\subdir4\subdir41\
D:\InstallDir\subdir5\
D:\InstallDir\subdir6\subdir61\subdir62\
D:\InstallDir\subdir7\
D:\InstallDir\subdir8\
我想将文件备份(并因此重命名)到与原始文件相同的相应目录中。我想对以上所有目录(本例中为 8 个)执行此操作,复制原始文件,然后将其重命名为 api-build009.jar.bak
.
D:\InstallDir\subdir1\api-build009.jar.bak
D:\InstallDir\subdir2\subdir21\api-build009.jar.bak
D:\InstallDir\subdir3\api-build009.jar.bak
D:\InstallDir\subdir4\subdir41\api-build009.jar.bak
D:\InstallDir\subdir5\api-build009.jar.bak
D:\InstallDir\subdir6\subdir61\subdir62\api-build009.jar.bak
D:\InstallDir\subdir7\api-build009.jar.bak
D:\InstallDir\subdir8\api-build009.jar.bak
如何使用 Windows CLI 或 PowerShell 执行此过程?
提前致谢。
一旦你写入 a file
- 听起来像是同一个文件,然后你在同一个文件夹中写入备份 the file
。这些是同一个文件的不同版本还是副本。
这些脚本会将文件复制到相同的名称和位置,扩展名为 .bak
批量
@Echo off
PushD "D:\InstallDir"
For /f "delims=" %%A in (
'Dir /B/S api-build009.jar'
) Do Echo Copy "%%~fA" "%%~fA.bak"
Popd
PowerShell
Get-ChildItem -Path D:\InstallDir -File -Filter api-build009.jar|
ForEach { Copy-Item $_.FullName -Destination "$($_.Fullname).bak" -whatif}
如果输出看起来没问题,删除批处理中的 echo
/ 脚本中的 -whatif
假设我有一个名为 api-build009.jar
的文件,它存在于多个目录中。
D:\InstallDir\subdir1\
D:\InstallDir\subdir2\subdir21\
D:\InstallDir\subdir3\
D:\InstallDir\subdir4\subdir41\
D:\InstallDir\subdir5\
D:\InstallDir\subdir6\subdir61\subdir62\
D:\InstallDir\subdir7\
D:\InstallDir\subdir8\
我想将文件备份(并因此重命名)到与原始文件相同的相应目录中。我想对以上所有目录(本例中为 8 个)执行此操作,复制原始文件,然后将其重命名为 api-build009.jar.bak
.
D:\InstallDir\subdir1\api-build009.jar.bak
D:\InstallDir\subdir2\subdir21\api-build009.jar.bak
D:\InstallDir\subdir3\api-build009.jar.bak
D:\InstallDir\subdir4\subdir41\api-build009.jar.bak
D:\InstallDir\subdir5\api-build009.jar.bak
D:\InstallDir\subdir6\subdir61\subdir62\api-build009.jar.bak
D:\InstallDir\subdir7\api-build009.jar.bak
D:\InstallDir\subdir8\api-build009.jar.bak
如何使用 Windows CLI 或 PowerShell 执行此过程?
提前致谢。
一旦你写入 a file
- 听起来像是同一个文件,然后你在同一个文件夹中写入备份 the file
。这些是同一个文件的不同版本还是副本。
这些脚本会将文件复制到相同的名称和位置,扩展名为 .bak
批量
@Echo off
PushD "D:\InstallDir"
For /f "delims=" %%A in (
'Dir /B/S api-build009.jar'
) Do Echo Copy "%%~fA" "%%~fA.bak"
Popd
PowerShell
Get-ChildItem -Path D:\InstallDir -File -Filter api-build009.jar|
ForEach { Copy-Item $_.FullName -Destination "$($_.Fullname).bak" -whatif}
如果输出看起来没问题,删除批处理中的 echo
/ 脚本中的 -whatif