• Login
Community
  • Login

.bat file auto path updater

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
4 Posts 2 Posters 894 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.
  • A
    Alexander Brkljac
    last edited by Jul 20, 2020, 8:30 AM

    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.

    M 1 Reply Last reply Jul 20, 2020, 1:15 PM Reply Quote 0
    • M
      Michael Vincent @Alexander Brkljac
      last edited by Jul 20, 2020, 1:15 PM

      @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
      • A
        Alexander Brkljac
        last edited by Jul 21, 2020, 1:32 AM

        @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,

        M 1 Reply Last reply Jul 21, 2020, 2:09 AM Reply Quote 0
        • M
          Michael Vincent @Alexander Brkljac
          last edited by Jul 21, 2020, 2:09 AM

          @Alexander-Brkljac

          set file=%~dp0\OUTPUT.txt

          Cheers.

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