我制作了一个脚本,可以创建4个文件夹图像,文档,程序和其他文件夹。该脚本查看所选目录并相应地将文件复制到文件夹,但我的问题是如何限制复制到指定文件夹的文件也不能复制到“其他”文件夹?
这是脚本的一部分:
:run1
mkdir %var2%\%1\Images
copy "%var%\*.jpg" "%var2%\%1\Images"
mkdir %var2%\%1\Documents
copy "%var%\*.docx" "%var2%\%1\Documents"
mkdir %var2%\%1\Programs
copy "%var%\*.exe" "%var2%\%1\Programs"
mkdir %var2%\%1\Other
copy "%var%" "%var2%\%1\Other"
goto complete
答案 0 :(得分:0)
这种事情应该有效:
:run1
pushd "%var2%"
for %%a in (Images Documents Programs Other) do mkdir "%~1\%%~a" 2>nul
for %%a in (jpg png bmp tif gif) do (
copy "*.%%a" "%~1\Images"
attrib +h "*.%%a"
)
for %%a in (doc docx txt pdf) do (
copy "*.%%a" "%~1\Documents"
attrib +h "*.%%a"
)
for %%a in (exe com bat cmd) do (
copy "*.%%a" "%~1\Programs"
attrib +h "*.%%a"
)
copy "*.*" "%~1\Other"
attrib -h "*.*"
popd
goto complete
答案 1 :(得分:0)
这种任务(和备份过程)是创建文件归档属性的原因。
:run1
attrib +a "%var%\*"
xcopy /i /m "%var%\*.jpg" "%var2%\%1\Images"
xcopy /i /m "%var%\*.docx" "%var2%\%1\Documents"
xcopy /i /m "%var%\*.exe" "%var2%\%1\Programs"
xcopy /i /m "%var%\*" "%var2%\%1\Other"
goto complete
attrib +a
将设置存档属性。 xcopy的/i
开关将处理目录创建,/m
要求xcopy仅复制具有存档属性集的文件,并在复制文件时删除该属性。这样,最后一个命令将只复制未复制的文件。