Hiya Guys,
I could do with a bit of help please ?
I have a main Parent Folder which has 4000 folders inside it.
Each folder has has a different name.
I wish to keep this folder and it's name.
Inside these folders is a folder with an identical name in all 4000 folders.
I want to delete this folder but not the Data which is inside all 4000 folders .
I want that data to go into it's parent folder!
EG: Main Folder > Folder Name > Folder ID > Files
I want the Files to go into "Folder Name" and deleting "Folder ID".
This all has to be done in a batch process.
As you can see to do it one at a time it would take forever !
Any chance I can do this with XYplorer 14.30 ?
Thanks,
George.
Delete Folder without deleting data files inside
-
- Posts: 26
- Joined: 30 Dec 2014 15:35
Re: Delete Folder without deleting data files inside
What if some files with same name as some of "Files" already exist in "Folder Name"?flourgrader wrote: EG: Main Folder > Folder Name > Folder ID > Files
I want the Files to go into "Folder Name" and deleting "Folder ID".
ask every time or auto-Overwrite or add suffix to moved "File" or move conflicting "File" to another subfolder?
Icon Names | Onyx | Undocumented Commands | xypcre
[ this user is asleep ]
[ this user is asleep ]
Re: Delete Folder without deleting data files inside
Me think flourgrader means something like this:
FROM:
Main Folder > Folder Name 0001 > Folder ID > Files
...
Main Folder > Folder Name 4000 > Folder ID > Files
TO:
Main Folder > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Files
DO:
For each folder "Folder Name <digits>"
--- go into sub folder "Folder ID"
--- move all files up one level
--- go up one level
--- delete folder "Folder ID"
--- go up one level to "Main Folder"
Next
Right?
FROM:
Main Folder > Folder Name 0001 > Folder ID > Files
...
Main Folder > Folder Name 4000 > Folder ID > Files
TO:
Main Folder > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Files
DO:
For each folder "Folder Name <digits>"
--- go into sub folder "Folder ID"
--- move all files up one level
--- go up one level
--- delete folder "Folder ID"
--- go up one level to "Main Folder"
Next
Right?
Re: Delete Folder without deleting data files inside
I think more like:flourgrader wrote:Inside these folders is a folder with an identical name in all 4000 folders.
FROM:
Main Folder > Folder Name 0001 > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Folder Name 4000 > Files
TO:
Main Folder > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Files.
Icon Names | Onyx | Undocumented Commands | xypcre
[ this user is asleep ]
[ this user is asleep ]
Re: Delete Folder without deleting data files inside
And I thought the sub folders of the "Folder Name <digits>" folders have always the same identical name
So flourgrader should clarify
So flourgrader should clarify
Re: Delete Folder without deleting data files inside
Meanwhile, here's a little script as I interpreted the wish.
As always, you should test it with with a small replaceable subset of folders before mass execution.
running: copy the code below. Open Main Menu->Scripting->Run Script... . Paste the code there click OK (or CTRL+ENTER)
Usage: point it to the "PARENT FOLDER" or "MAIN FOLDER" that you spoke of.And decide whether to move or copy. And then file movements will begin.
You will get a handful of prompts in case of file conflicts.
[edit:it's not required to choose between copy or move]
SammaySarkar wrote: I think more like:
FROM:
Main Folder > Folder Name 0001 > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Folder Name 4000 > Files
TO:
Main Folder > Folder Name 0001 > Files
...
Main Folder > Folder Name 4000 > Files.
As always, you should test it with with a small replaceable subset of folders before mass execution.
running: copy the code below. Open Main Menu->Scripting->Run Script... . Paste the code there click OK (or CTRL+ENTER)
Usage: point it to the "PARENT FOLDER" or "MAIN FOLDER" that you spoke of.
You will get a handful of prompts in case of file conflicts.
Code: Select all
setting "useCustomCopy", 1; setting "backgroundFileOps", 1; setting "backgroundedFileOps", 31; //effective during this script only
//step;
$parent = inputfolder("<xydata>\test", "Choose the MAIN PARENT folder:");
$subs = listfolder("$parent",, 2+4 /*NoFiles+NoPath*/); //sep = |
end ($subs == ''), "no subfolders!";
foreach($sub, $subs, "|") {
//look for same named subfolder-in-subfolder
if (exists("$parent\$sub\$sub") != 2) { continue; }
else {
$itms = listfolder("$parent\$sub\$sub",, /*4 NoPaths*/); //sep = |
moveto "$parent\$sub", "$itms",, 2;
}
if (listfolder("$parent\$sub\$sub") == '') { delete 0,0, "$parent\$sub\$sub"; }
}
echo "finished";
Icon Names | Onyx | Undocumented Commands | xypcre
[ this user is asleep ]
[ this user is asleep ]
-
- Posts: 26
- Joined: 30 Dec 2014 15:35
Re: Delete Folder without deleting data files inside
Thanks SammaySarkar for the Script.
I tried the code out, it did not delete any of the Folder Tree Structure.
It did not ask if I wanted to Move or Copy. It asked me to point it at which Folder I wanted it to work on.
When I picked the Drive and Folder and clicked OK . It said finished.
But thanks again for spending the time on coding!
For those that are not clear in what I am after doing I will lay my Folder Tree structure out.
E:\FILMS\TITLE OF MY FILM_1\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_2\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_3\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_4000\VIDEO_TS\FILES.VOBs
Where "TITLE OF MY FILM" This obviously is a unique name as it's the title of the film inside the folder!
I want the "FILES.VOBs" to be moved to the folder "TITLE OF FILM_1" then deleting "VIDEO_TS"
I want this process recurring 4000 to go through my entire film collection.
So my Folder Tree Structure Should Look like this:
E:\FILMS\TITLE OF MY FILM_1\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_2\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_3\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_4000\FILES.VOBs
Thanks Again For Your Help....
I tried the code out, it did not delete any of the Folder Tree Structure.
It did not ask if I wanted to Move or Copy. It asked me to point it at which Folder I wanted it to work on.
When I picked the Drive and Folder and clicked OK . It said finished.
But thanks again for spending the time on coding!
For those that are not clear in what I am after doing I will lay my Folder Tree structure out.
E:\FILMS\TITLE OF MY FILM_1\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_2\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_3\VIDEO_TS\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_4000\VIDEO_TS\FILES.VOBs
Where "TITLE OF MY FILM" This obviously is a unique name as it's the title of the film inside the folder!
I want the "FILES.VOBs" to be moved to the folder "TITLE OF FILM_1" then deleting "VIDEO_TS"
I want this process recurring 4000 to go through my entire film collection.
So my Folder Tree Structure Should Look like this:
E:\FILMS\TITLE OF MY FILM_1\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_2\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_3\FILES.VOBs
E:\FILMS\TITLE OF MY FILM_4000\FILES.VOBs
Thanks Again For Your Help....
Re: Delete Folder without deleting data files inside
well, my interpretation was obviously wrong. (you could've pointed that out earlier, though )
Anyways, try this script. It's basically the same script posted above, I just tweaked the relevant bits.
Usage same as before. Point it to E:\FILMS.
Anyways, try this script. It's basically the same script posted above, I just tweaked the relevant bits.
Usage same as before. Point it to E:\FILMS.
Code: Select all
setting "useCustomCopy", 1; setting "backgroundFileOps", 1; setting "backgroundedFileOps", 31; //effective during this script only
$parent = inputfolder("E:\FILMS", "Choose the MAIN PARENT folder:");
$subs = listfolder("$parent",, 2+4 /*NoFiles+NoPath*/); //sep = |
end ($subs == ''), "no subfolders!";
foreach ($sub, $subs, "|") {
//look for same named subfolder-in-subfolder
if (exists("$parent\$sub\VIDEO_TS") != 2) {
continue;
} else {
$itms = listfolder("$parent\$sub\VIDEO_TS",, /*4 NoPaths*/); //sep = |
moveto "$parent\$sub", "$itms",, 2;
}
if (listfolder("$parent\$sub\VIDEO_TS") == '') {
delete 0,0, "$parent\$sub\VIDEO_TS";
}
}
echo "finished moving.";
Icon Names | Onyx | Undocumented Commands | xypcre
[ this user is asleep ]
[ this user is asleep ]
-
- Posts: 26
- Joined: 30 Dec 2014 15:35
Re: Delete Folder without deleting data files inside
Thanks very Much SammaySarka.
It works very well on my Test Sample.
I will execute it on my film collection now !
Have yourself a Good Day !
It works very well on my Test Sample.
I will execute it on my film collection now !
Have yourself a Good Day !
Re: Delete Folder without deleting data files inside
Righto. Have yourself a great new year!
Icon Names | Onyx | Undocumented Commands | xypcre
[ this user is asleep ]
[ this user is asleep ]