Jump to content

Recommended Posts

Posted (edited)

Hi all,

I need to make a dircopy function that correctly handle symlink and junction without duplicating files and folder.

Let's try to be more precise

I have the following directory structure 

My folder---+
            |
            |-- Local.file                              (regular file)
            |-- local folder                            (regular folder)
            |-- Target.symlink                          (symlink to file Local.file)
            |-- target.folder.symlink                   (symlink to folder local.folder)
            |-- target.folder.junction                  (junction to folder D:\PAC_Launchers\test\local.folder)
            

22/03/2016  21:42                10 Local.file
22/03/2016  21:41    <REP>          local.folder
22/03/2016  21:42                11 Target.file
22/03/2016  21:40    <REP>          Target.folder
22/03/2016  15:16    <JONCTION>     target.folder.junction [D:\PAC_Launchers\test\local.folder]
22/03/2016  15:15    <SYMLINKD>     target.folder.symlink [local.folder]
22/03/2016  07:42    <SYMLINK>      Target.symlink [Local.file]

To do so, i need to be able to identify that a file or a folder is a Symlink or Junction. And in that case I need to know the target of the symlink or junction.

Does any of you have an idea or a script to do so.

Gilles

 

Edited by gillesg
Posted

search “  _GetReparseTarget ” and “symlink” in the forum will help you.:D

董小姐,你微笑的时候很美,就像安河桥下,清澈的水...

Posted (edited)

Hello,

I started the work. it looks fine, but I bumped into the following problem.

How to determine a file is a Hardlink ? I mean created by either the cmd "mklink /H" or the Autoit function "FileCreateNTFSLink"

The only way I found so far is using 

fsutil.exe hardlink list <the file to test>

Any idea more autoit related ?

Edited by gillesg
Posted

Hi there,

I finaly found what I was looking for : _WinAPI_EnumHardLinks function.

This function give the list of hardlink path for the file.

Posted

I am almost there.

Does anyone knows how to create de Junction with Autoit.

These are also known as REPARSE_POINT.

Thank for any help provided.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...