我需要在我的“C”驱动器上找到所有* .PST文件,并将所有实例复制到C:\
上的新文件夹如何在dos-batch中执行此操作并保留原始结构?我不想覆盖第一个第二个实例..
我必须从搜索中排除c:\ backuppst目录吗?
for / f“delims =”%% i in('dir / s / b / ad * .PST')do copy / b“%% ~i”“C:\ backuppst”
谢谢大师
编辑:
如你所知,我使用Xcopy:
Xcopy c:*。pst c:\ backuppst / i / h / s / y /Exclude:my.txt
在my.txt中我有:C:\ backuppst
但我得到“不能预先形成骑行副本”
Foxidrive的最终解决方案
@echo off for / f“delims =”%% i in('dir / s / b / a-d * .PST')xcopy“%% ~i”“c:\ backuppst %% ~pi” 暂停
答案 0 :(得分:2)
试试这个:
for /f "delims=" %%i in ('dir /s /b /a-d c:\*.PST^|findstr /ivc:"C:\backuppst"') do copy /b "%%~fi" "C:\backuppst"
答案 1 :(得分:0)
使用xcopy
命令,它可以一次完成,无需for
。
它支持参数/exclude
,它允许您排除特定文件或文件夹,例如备份目录。
答案 2 :(得分:0)
如果在c:\ backuppst下没有PST文件,这应该适合你。
@echo off
for /f "delims=" %%i in ('dir /s /b /a-d \*.PST') do xcopy "%%~i" "c:\backuppst%%~pi"
pause