假设我有一个名为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执行此过程?
先谢谢你。
答案 0 :(得分:1)
编写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