{"id":272,"date":"2019-01-09T07:23:06","date_gmt":"2019-01-08T19:23:06","guid":{"rendered":"https:\/\/www.berserkir.net\/wordpress\/?p=272"},"modified":"2019-01-09T07:23:15","modified_gmt":"2019-01-08T19:23:15","slug":"moving-files-to-subfolders","status":"publish","type":"post","link":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/","title":{"rendered":"Moving files to subfolders"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">It&#8217;s not uncommon for me to have to tidy up directories full of files by moving them to their own subfolders, named for each file. It&#8217;s become common enough that I wrote a little Powershell function to do it repeatedly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After saving the below script as a .psm1 file you&#8217;ll be able to open PS and import the file. I tend to save it to &#8220;C:\\Scripts\\MoveToSubfolders.psm1&#8221; &#8211; then I can open PS and run &#8220;Import-Module C:\\Scripts\\MoveToSubfolders.psm1&#8221;.<br><br>Once it&#8217;s been imported I can then use the function on whatever folder of files I need to tidy by simply running &#8220;MoveToSubfolders&#8221; and following the function with the folder I need to sort. It works well for making movies tidier.1`<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function MoveToSubfolders([string]$Folder = \".\\\" ){\n# Convert relative folder paths to full paths\n$FullPath = Resolve-Path $Folder\n\n# Generate list of all files in the specified directory.\n$Files = Get-ChildItem -Path ((Get-Item -Path $FullPath -Verbose).FullName)\n\n# For each object in the directory, do the following:\n$Files | ForEach-Object {\n    # Generate the variables \n    $FileName = $_.FullName\n    $FileFolderName = $_.BaseName\n    $DestinationFolder = \"$FullPath\\$FileFolderName\"\n    $MoveDestination = \"$DestinationFolder\\$($_.Name)\"\n\n    # Check if the destination directory exists\n    if(!(Test-Path $DestinationFolder))\n    {\n        # Create the directory using FileName (minus file extension) if it does not exist\n        New-Item -Path $DestinationFolder -ItemType Directory\n    }\n    # Move the file to the new directory\n    Move-Item -ErrorAction SilentlyContinue $FileName $MoveDestination\n}\n}\n# Actually allow this module to have functions used outside via import\nExport-ModuleMember -Function *\nExport-ModuleMember -Variable *<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s not uncommon for me to have to tidy up directories full of files by moving them to their own subfolders, named for each file. It&#8217;s become common enough that I wrote a little Powershell function to do it repeatedly. After saving the below script as a .psm1 file you&#8217;ll be able to open PS &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,20,16,1],"tags":[61,62],"class_list":["post-272","post","type-post","status-publish","format-standard","hentry","category-helpful-hints","category-scripts","category-software","category-uncategorized","tag-powershell","tag-script","item-wrap"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"A script to move all files in a folder to subfolders named for their filenames.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Berserkir-Wolf\"\/>\n\t<meta name=\"keywords\" content=\"powershell,script\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Berserkir-Net | Go berserk. All the best things are a little bit crazy...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"MoveToSubfolders | Berserkir-Net\" \/>\n\t\t<meta property=\"og:description\" content=\"A script to move all files in a folder to subfolders named for their filenames.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-01-08T19:23:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-01-08T19:23:15+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Berserkir.Wolf\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@Berserkir_Wolf\" \/>\n\t\t<meta name=\"twitter:title\" content=\"MoveToSubfolders | Berserkir-Net\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A script to move all files in a folder to subfolders named for their filenames.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@Berserkir_Wolf\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#article\",\"name\":\"MoveToSubfolders | Berserkir-Net\",\"headline\":\"Moving files to subfolders\",\"author\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/author\\\/dyson-parkes\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Berserkir-Wolf\"},\"datePublished\":\"2019-01-09T07:23:06+12:00\",\"dateModified\":\"2019-01-09T07:23:15+12:00\",\"inLanguage\":\"en-NZ\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#webpage\"},\"articleSection\":\"Helpful Hints, Scripts, Software, Uncategorized, Powershell, script\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/#listItem\",\"position\":2,\"name\":\"Software\",\"item\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/scripts\\\/#listItem\",\"name\":\"Scripts\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/scripts\\\/#listItem\",\"position\":3,\"name\":\"Scripts\",\"item\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/scripts\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#listItem\",\"name\":\"Moving files to subfolders\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#listItem\",\"position\":4,\"name\":\"Moving files to subfolders\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/category\\\/software\\\/scripts\\\/#listItem\",\"name\":\"Scripts\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/#person\",\"name\":\"Berserkir-Wolf\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Berserkir-Wolf\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/author\\\/dyson-parkes\\\/#author\",\"url\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/author\\\/dyson-parkes\\\/\",\"name\":\"Berserkir-Wolf\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg\",\"width\":96,\"height\":96,\"caption\":\"Berserkir-Wolf\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#webpage\",\"url\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/\",\"name\":\"MoveToSubfolders | Berserkir-Net\",\"description\":\"A script to move all files in a folder to subfolders named for their filenames.\",\"inLanguage\":\"en-NZ\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/moving-files-to-subfolders\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/author\\\/dyson-parkes\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/author\\\/dyson-parkes\\\/#author\"},\"datePublished\":\"2019-01-09T07:23:06+12:00\",\"dateModified\":\"2019-01-09T07:23:15+12:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/\",\"name\":\"Berserkir-Net\",\"description\":\"Go berserk. All the best things are a little bit crazy...\",\"inLanguage\":\"en-NZ\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.berserkir.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"MoveToSubfolders | Berserkir-Net","description":"A script to move all files in a folder to subfolders named for their filenames.","canonical_url":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/","robots":"max-image-preview:large","keywords":"powershell,script","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#article","name":"MoveToSubfolders | Berserkir-Net","headline":"Moving files to subfolders","author":{"@id":"https:\/\/www.berserkir.net\/wordpress\/author\/dyson-parkes\/#author"},"publisher":{"@id":"https:\/\/www.berserkir.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg","width":96,"height":96,"caption":"Berserkir-Wolf"},"datePublished":"2019-01-09T07:23:06+12:00","dateModified":"2019-01-09T07:23:15+12:00","inLanguage":"en-NZ","mainEntityOfPage":{"@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#webpage"},"isPartOf":{"@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#webpage"},"articleSection":"Helpful Hints, Scripts, Software, Uncategorized, Powershell, script"},{"@type":"BreadcrumbList","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/www.berserkir.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/#listItem","position":2,"name":"Software","item":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/scripts\/#listItem","name":"Scripts"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/scripts\/#listItem","position":3,"name":"Scripts","item":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/scripts\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#listItem","name":"Moving files to subfolders"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#listItem","position":4,"name":"Moving files to subfolders","previousItem":{"@type":"ListItem","@id":"https:\/\/www.berserkir.net\/wordpress\/category\/software\/scripts\/#listItem","name":"Scripts"}}]},{"@type":"Person","@id":"https:\/\/www.berserkir.net\/wordpress\/#person","name":"Berserkir-Wolf","image":{"@type":"ImageObject","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg","width":96,"height":96,"caption":"Berserkir-Wolf"}},{"@type":"Person","@id":"https:\/\/www.berserkir.net\/wordpress\/author\/dyson-parkes\/#author","url":"https:\/\/www.berserkir.net\/wordpress\/author\/dyson-parkes\/","name":"Berserkir-Wolf","image":{"@type":"ImageObject","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/794b1b576c275e8fb5daa3fd5896bcd135213c817d70bb28f8205e03009cd2ca?s=96&r=pg","width":96,"height":96,"caption":"Berserkir-Wolf"}},{"@type":"WebPage","@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#webpage","url":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/","name":"MoveToSubfolders | Berserkir-Net","description":"A script to move all files in a folder to subfolders named for their filenames.","inLanguage":"en-NZ","isPartOf":{"@id":"https:\/\/www.berserkir.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/#breadcrumblist"},"author":{"@id":"https:\/\/www.berserkir.net\/wordpress\/author\/dyson-parkes\/#author"},"creator":{"@id":"https:\/\/www.berserkir.net\/wordpress\/author\/dyson-parkes\/#author"},"datePublished":"2019-01-09T07:23:06+12:00","dateModified":"2019-01-09T07:23:15+12:00"},{"@type":"WebSite","@id":"https:\/\/www.berserkir.net\/wordpress\/#website","url":"https:\/\/www.berserkir.net\/wordpress\/","name":"Berserkir-Net","description":"Go berserk. All the best things are a little bit crazy...","inLanguage":"en-NZ","publisher":{"@id":"https:\/\/www.berserkir.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Berserkir-Net | Go berserk. All the best things are a little bit crazy...","og:type":"article","og:title":"MoveToSubfolders | Berserkir-Net","og:description":"A script to move all files in a folder to subfolders named for their filenames.","og:url":"https:\/\/www.berserkir.net\/wordpress\/moving-files-to-subfolders\/","article:published_time":"2019-01-08T19:23:06+00:00","article:modified_time":"2019-01-08T19:23:15+00:00","article:publisher":"https:\/\/www.facebook.com\/Berserkir.Wolf\/","twitter:card":"summary","twitter:site":"@Berserkir_Wolf","twitter:title":"MoveToSubfolders | Berserkir-Net","twitter:description":"A script to move all files in a folder to subfolders named for their filenames.","twitter:creator":"@Berserkir_Wolf"},"aioseo_meta_data":{"post_id":"272","title":"MoveToSubfolders #separator_sa #site_title","description":"A script to move all files in a folder to subfolders named for their filenames.","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-01-12 01:43:53","updated":"2025-06-04 03:52:28","seo_analyzer_scan_date":null},"_links":{"self":[{"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/posts\/272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/comments?post=272"}],"version-history":[{"count":2,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/posts\/272\/revisions"}],"predecessor-version":[{"id":274,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/posts\/272\/revisions\/274"}],"wp:attachment":[{"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/media?parent=272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/categories?post=272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.berserkir.net\/wordpress\/wp-json\/wp\/v2\/tags?post=272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}