"liu" <spamfreeliu@yahoo.com> wrote in message
news:9feb6371-7331-41f7-b604-e41a20418119@18g2000vbi.googlegroups.com...
>> > Thank you very much for the offer to help. Here is what I have:
>> > Multiple projects each one with a runtime (many HTML, ASP, images
>> > etc), In each project there is a Source folder named "Source".
>> > I'd like to delete the runtime while keep the Source folder intact.
>> > There are many images, etc files in the Source folder too. Basically,
>> > delete everything in root except "Source" folder and the content
>> > inside.
>>
>> > Thanks,
>>
>> Your description is still rather general. Please quote a specific example
>> of
>> what you wish to keep and what you wish to delete.
>
> project a
> project a\file1.htm
> project a\file2.htm
> ...
> project a\file3.css
> project a\file4.js
> ...
> project a\images\file5.jpg
> ...
> project a\Source\file6.fla
> project a\Source\file7.fla
> ....
>
> I'd like to delete everything inside project a including folders
> inside except Source folder. Keep everything inside the source folder
> no matter what are inside.
>
> project b
> same structure but different files.
>
> Do the same for the remaining 200 more projects with the same
> structure.
>
> Thanks for the help,
OK, things are getting clearer. Try this:
[01] @echo off
[02] SetLocal EnableDelayedExpansion
[03] set Source=c
Project
[04] set Target=c
HoldingFolder
[05] set Action=echo
[06] for /d %%a in ("%Source%*.*") do (
[07] for %%b in ("%%a") do set Name=%%~na
[08] %Action% md "%Target%\!Name!"
[09] %Action% move "%%a\Source" "%Target%\!Name!"
[10] %Action% rd "%%a" /s /q
[11] %Action% move "%Target%\!Name!" C
[12] pause
[13] )
Instructions:
1. Copy & paste the code into a batch file of your choice. Remove the line
numbers.
2. The code assumes that your projects are kept in folders called
"c
Project xxx" where xxx can be any character string. Modify line #3 if
this is not the case.
3. The drive letter used in lines #4 and #11 must be the same as the drive
letter used for Source in line #3.
4. Run the batch file as it is from a Command Prompt and examine its screen
output carefully.
5. If satisfied, modify line #5 to that it reads
set Action=
then run the batch file until it pauses for the first time. Check that it
has done the right thing.
6. If satisfied, remove line #12, then rerun the batch file.
Note: All care and no responsibility taken. You are responsible for backing
up your files before using this program.