in reply to Re: how to move the folder from one directory to another directory?
in thread how to move the folder from one directory to another directory?

thank you for your response.. But here the session folder is created dynamically along with the time stamp. Here what does file A and file B means??

  • Comment on Re^2: how to move the folder from one directory to another directory?

Replies are listed 'Best First'.
Re^3: how to move the folder from one directory to another directory?
by Anonymous Monk on Dec 28, 2014 at 05:40 UTC

    But here the session folder is created dynamically along with the time stamp. Here what does file A and file B means??

    The linked documentation says: The move function also takes two parameters: the current name and the intended name of the file to be moved

    So move( oldname, newname )

    use Path::Tiny qw/ path /; path( $oldname )->move( $newname );

      I can't say the name of the folder as it will be created dynamically with the time stamp.... So how can we move that folder without knowing the name of the folder
        Hi vasuperl,

        What can be found in that directory besides the session folder? Is it the only file/folder in the directory?

        Update: You can list all directories in the path_to_folder.

        foreach (<path_to_sessions/*>) { if ( -d ) { print "$_\n"; move(... } }
        Additional filtering can be addded to the file glob and/or regexp match can be added to the if statement.
        It is a very simple solution. All you need to do is read an original directory. Then read your new directory. Then If new directory does not contain a file/folder in original directory, then copy it.

        Here is what i came up with a sec ago:
        use strict; use warnings; use File::Copy::Recursive qw(rcopy); use File::Slurp; use Cwd; my $cwd = cwd(); my $dir = $ARGV[0]; my $orig_dir = "$cwd/$dir"; my $new_dir = "$cwd/your/path/"; my @first_scan = read_dir($orig_dir); #this will build an initial l +ist #and put it into @first_scan; re_scan(); sub re_scan { #to rescan over and over whil +e comparing my @new_scan = read_dir($new_dir); foreach my $element (@first_scan) { if ( $element ~~ @new_scan ) { print "$element Already Exists!\n"; } else { print "Copying $element to $new_dir\n"; rcopy( $orig_dir . $element, $new_dir . $element ); } } undef(@first_scan); for (@new_scan) { push( @first_scan, $_ ); } undef(@new_scan); sleep(3); ; re_scan(); }
        This should work for your scenario as you just need to scan the directory, and if the new directory does not contain somethign that the old dir has in it, it copies it.

        I can't say the name of the folder as it will be created dynamically with the time stamp.... So how can we move that folder without knowing the name of the folder

        Hmm, first step, find out the name, path( $folder )->children