Find Jobs
Hire Freelancers

Create / troubleshoot a batch file that moves folders based on criteria

$30-250 USD

Completed
Posted over 7 years ago

$30-250 USD

Paid on delivery
I need a batch file to assess subfolders and if they meet certain criteria then they get moved to a new folder. I have tried to do it myself but have not been successful. Below I have an outline of my work so far. Folder structure is something like this Main folder is: I:\Test\divideandconquer\Newfolder\ In that folder there can be an number of different subfolders. eg I:\Test\divideandconquer\Newfolder\106-foldername What I want is a batch that compares the first 3 numbers of the folder name (in this case 106) with the number of files in that folder. If the two numbers match then the criteria is met and the folder should be moved to: I:\Test\divideandconquer\moved\ I have a working batch that can compare the two numbers and return a value. @echo off setlocal disableDelayedExpansion pushd I:\Test\divideandconquer\Newfolder set "files=" for /r %%F in (*) do call set files=%%files%% %%F echo %files% set files=%files:~36,3% echo %files% pushd I:\Test\divideandconquer\Newfolder\*1* set actual=100 for %%x in (*) do set /a actual+=1 echo %actual% IF %actual% EQU %files% echo same | clip I also have found a batch that can move folders based on criteria being met (found it on stackoverflow). for /d %%A in (*) do ( dir /b %%A\*.txt >nul 2>&1 && move %%A "folders with txt" ) But of course the criteria are not right. To make it work I think I need to change dir /b %%A\*.txt >nul 2>&1 to check my IF %actual% EQU %files% result but I dont know how to combine the two codes. ===================== UPDATE I tried a few things including... @echo off setlocal disableDelayedExpansion pushd I:\Test\divideandconquer\Newfolder set "files=" for /r %%F in (*) do call set files=%%files%% %%F echo %files% set files=%files:~36,3% echo %files% pushd I:\Test\divideandconquer\Newfolder\*1* set actual=100 for %%x in (*) do set /a actual+=1 echo %actual% IF %actual% EQU %files% THEN ( set result=1 ) for /d %%a in (*) do ( set /a oktomove=result - %%a if !oktomove! EQU 1 move /Y %%a I:\Test\divideandconquer\moved\ )
Project ID: 11959356

About the project

2 proposals
Remote project
Active 7 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Yes, some things are not so easy to do in pure batch scripting. However, I can do it, so I'll be glad to make this for you. Update: I've already made it, so it's waiting you. :-)
$30 USD in 1 day
5.0 (2 reviews)
1.6
1.6
2 freelancers are bidding on average $30 USD for this job
User Avatar
Hello, I have lost your message.. can you message me. Thanks, Sheik
$30 USD in 2 days
5.0 (4 reviews)
3.4
3.4

About the client

Flag of UNITED KINGDOM
Farnborough, United Kingdom
5.0
16
Payment method verified
Member since Jun 29, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.