Community
    • Login

    .bat file auto path updater

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    4 Posts 2 Posters 873 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alexander BrkljacA
      Alexander Brkljac
      last edited by

      I am trying to run a .bat file, it functions correctly when its on a specific path but when i move it, it wont work so i came to ask if there is any code that updates the path.

      This is the script.
      set file=C:\Users\NAME\Desktop\Folder\OUTPUT.txt

      I want it so it updates the path, so no matter where i put it, every time i run the .bat this path will update but i need a automatic path updater script to work with the script above if thats possible so that path will update and the script will perform as usual. Just need the path to automatically update when i relocate it, also when i put it into different pc’s.

      (Windows 10 if that helps)

      Would like a script, Thanks.

      Michael VincentM 1 Reply Last reply Reply Quote 0
      • Michael VincentM
        Michael Vincent @Alexander Brkljac
        last edited by

        @Alexander-Brkljac

        This is a Notepad++ forum, not a batch coding forum. Lucky for you I’m quite skilled in the ways of Windows batch. Your question is not clear - auto-update to what directory - the current one the batch script is running from?

        Open cmd.exe, type for /? - all things will become clear.

        Especially the following:

        In addition, substitution of FOR variable references has been enhanced.
        You can now use the following optional syntax:
        
            %~I         - expands %I removing any surrounding quotes (")
            %~fI        - expands %I to a fully qualified path name
            %~dI        - expands %I to a drive letter only
            %~pI        - expands %I to a path only
            %~nI        - expands %I to a file name only
            %~xI        - expands %I to a file extension only
            %~sI        - expanded path contains short names only
            %~aI        - expands %I to file attributes of file
            %~tI        - expands %I to date/time of file
            %~zI        - expands %I to size of file
            %~$PATH:I   - searches the directories listed in the PATH
                           environment variable and expands %I to the
                           fully qualified name of the first one found.
                           If the environment variable name is not
                           defined or the file is not found by the
                           search, then this modifier expands to the
                           empty string
        

        So use:

        %~dp0
        

        In the Windows batch file whenever you want the full path / directory to where the batch file is running from.

        Cheers.

        1 Reply Last reply Reply Quote 4
        • Alexander BrkljacA
          Alexander Brkljac
          last edited by

          @Michael-Vincent said in .bat file auto path updater:

          %~dp0

          Hi Michael

          I am having abit of trouble with finding a place to put %~dp0
          is it ok if you could make an example of where to put it here is the whole .bat

          @echo off

          title

          cls

          color 02

          cls

          goto :start

          :start

          echo --------------COMMAND FULFILLED-------------

          set file=C:\Users\NAME\Desktop\FOLDER\OUTPUT.txt <------- path i want to auto change when i move the output.txt

          ipconfig /all>> %file%

          cls

          goto :A

          :A

          echo --------------COMMAND PENDING----------------

          set file=C:\Users\NAME\Desktop\FOLDER\OUTPUT.txt

          systeminfo>> %file%

          goto :B

          :B

          echo ---------------COMMAND COMPLETE----------------

          set file=C:\Users\NAME\Desktop\FOLDER\OUTPUT.txt

          time /t>> %file%

          cls

          timeout 1 >nul

          exit

          I am quite new to .bat and im really trying to get this to work it would be extremly helpful if i could have an example.
          i want the path ‘file=C:\Users\NAME\Desktop\FOLDER\OUTPUT.txt’ to change every time i move the document.

          Hope this makes sense its the final stage of my program.

          Thanks Alex,

          Michael VincentM 1 Reply Last reply Reply Quote 0
          • Michael VincentM
            Michael Vincent @Alexander Brkljac
            last edited by

            @Alexander-Brkljac

            set file=%~dp0\OUTPUT.txt

            Cheers.

            1 Reply Last reply Reply Quote 1
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors