Community
    • Login

    How to launch notepad++ synchronously

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    synchronouslyhow to launch
    12 Posts 5 Posters 6.0k 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.
    • Stefano FratoniS
      Stefano Fratoni
      last edited by

      @Claudia-Frank said:

      Cheers

      yes i’m talking about batch.
      Using the full path i have the same problem.

      Claudia FrankC Scott SumnerS 2 Replies Last reply Reply Quote 0
      • Claudia FrankC
        Claudia Frank @Stefano Fratoni
        last edited by

        @Stefano-Fratoni

        hmmm, sorry - it used to work with windows 7. I did this to save the current config files.

        Which OS and npp version are you using?

        Cheers
        Claudia

        1 Reply Last reply Reply Quote 0
        • Scott SumnerS
          Scott Sumner @Stefano Fratoni
          last edited by Scott Sumner

          @Stefano-Fratoni

          I run Notepad++ successfully from a batch file every time I start it up. As @Claudia-Frank partially asks, please supply the data you see when you run ? (menu) -> Debug Info…

          Also, showing the batch file you are trying to make work, and in general providing more detail about what exactly you are doing, what happens when you do it, and what you expect would also be a good idea.

          1 Reply Last reply Reply Quote 1
          • Stefano FratoniS
            Stefano Fratoni
            last edited by Stefano Fratoni

            i’m using windows 10
            I’m trying to make a copy of the file I’m opening with notepad++ and once I close the notepad the file I created must be deleted.
            it is basically what makes gvim

            I’m doing this because I need to create the file swap or lock the file.

            this is file batch:
            copy %1 .%1.swp
            start /wait np++ %1
            del .%1.swp

            this is debug info:

            Notepad++ v7.5.1 (32-bit)
            Build time : Aug 29 2017 - 02:35:41
            Path : C:\Users\Stefano\Documents\dati_in_backup\Notepad++\np++.exe
            Admin mode : OFF
            Local Conf mode : ON
            OS : Windows 10 (64-bit)
            Plugins : mimeTools.dll NppConverter.dll NppExec.dll NppExport.dll XMLTools.dll

            1 Reply Last reply Reply Quote 1
            • PeterJonesP
              PeterJones
              last edited by

              First thing I see: do you really have an executable np++, because in every version of Notepad++ i’ve seen, it’s notepad++.exe. And if you really have that, is it in your PATH? Because, if not, start /wait isn’t going to be able to see it.

              Looking at the start examples at https://ss64.com/nt/start.html, I was able to craft

              copy %1 .%1.swp
              start /wait "" "C:\Program Files (x86)\Notepad++\notepad++.EXE" "%1"
              del .%1.swp
              
              • because the path to my notepad++ executable has a space, it needs quotes around it. And always quote the "%1", because likely you’ll use this batch file sometime on a file that has a space in it.
              • The first "" is the “TITLE” option; if I tried without that, it would read the first quoted argument (path to executable) as the TITLE, rather than the executable, and wouldn’t do what I wanted.

              But this batch file did for me what you implied you wanted… it created the swap file, ran notepad++ and waited until you exit notepad++ before continuing, then deleted the swap file.

              1 Reply Last reply Reply Quote 0
              • Stefano FratoniS
                Stefano Fratoni
                last edited by Stefano Fratoni

                now I’ve tried this way

                copy %1 .%1.swp
                start /wait “” “C:\Users\Stefano\Documents\dati_in_backup\Notepad++\notepad++.exe” “%1”
                del .%1.swp

                but it doesn’t work. the result is that it opens notepad++ but does not wait for closure

                my exe is named this way because I simply renamed it myself, but even bringing it back with the original name does not work.

                I had already seen the link you posted to me , in fact if you check in the paragraph of start / wait says that with winword.exe does not work.

                1 Reply Last reply Reply Quote 0
                • guy038G
                  guy038
                  last edited by guy038

                  Hello @stefano-fratoni and All,

                  When you copy / paste text, in normal video, from our site, beware about single and double quotes ! Indeed, NodeBB site changes, for instance :

                  • The string 'Text' into the string ‘Text’

                  • The string "Text" into the string “Text”

                  So, all your text must be normalized with, either, the apostrophe ( \x{0027} ) or quotation mark (\x{0022} ) character, before being executed !


                  @Peterjones,

                  I currently have my “working” N++ in the folder C:\_751 of my Win XP configuration. So, after starting a CMD console windows and moving to the right folder :

                  d:\Documents and Settings\xvr823.380490A\Mes documents (17:04:33)
                  
                  >cd /d C:\_751
                  
                  C:\_751 (17:04:42)
                  

                  The command below works fine :

                  >start "" /wait "notepad++.exe"
                  
                  C:\_751 (17:05:19)
                  

                  This one, without the title, and the /WAIT parameter, was OK, too !

                  >start notepad++.exe change.log
                  
                  C:\_751 (17:05:34)
                  

                  Even, this simple DOS line, did launch N++ and get the change.log file :

                  >notepad++ change.log
                  
                  C:\_751 (17:05:52)
                  

                  => No problem at all, with my out of date XP machine :-))

                  Cheers,

                  guy038

                  1 Reply Last reply Reply Quote 1
                  • PeterJonesP
                    PeterJones
                    last edited by

                    @guy038, two questions: what happens if you’re not in the same directory as notepad++.exe ? (Oh, I just removed it from my path, and found that start /wait notepad++.exe was still able to find it. That surprises me. Maybe it’s because my global PATH still includes my NPP directory, or because the install registered the location of notepad++.exe with windows somewhere; interesting.)

                    Second, what happens if you try to specify the full path to notepad++ executable, when running from some different directory?

                    cd \
                    start /wait notepad++.exe
                    echo first
                    start /wait "c:\_751\notepad++.exe"
                    echo second
                    start /wait "" "c:\_751\notepad++.exe"
                    echo second
                    

                    @Stefano-Fratoni , ss64 says it doesn’t work for winword. But notepad++.exe is not winword. When I have tried it for notepad++.exe (multiple times today, before each of my posts), it consistently works: it runs notepad++, but doesn’t return to the next command line until I exit Notepad++.
                    What happens if you run a cmd.exe window, and just manually type in

                    start /wait "" notepad++.exe
                    

                    Does it immediately return you to the command line: ie, if you Alt+TAB from NPP window back to cmd.exe window, is it still waiting for the command to finish or not? Because for me, when I run that, cmd.exe doesn’t give me the next prompt until after I’ve closed.

                    For example, comparing these two commands:

                    (start notepad++.exe) && echo done
                    (start /wait notepad++.exe) && echo done
                    

                    The first immediately prints “done” in the cmd.exe window, while NPP is loading in the background. The second, on the other hand, waits until after I’ve exited NPP before it prints “done” in the cmd.exe window.

                    Also, when you are running your batch file (assuming your batch file uses real quotes, not smart quotes like your post uses), were you running from a cmd.exe window, or from the Win+R run-prompt, or from a windows shortcut? It might be that there’s a difference.

                    For me, from cmd.exe window or from Win+R does the same. For example, if I save the following as %TEMP%\nppsync.bat

                    start /wait "" notepad++
                    echo done
                    pause
                    

                    Interesting: If I run Win+R then type %TEMP%\nppsync.bat, it opens npp, but if I tab into the cmd.exe window, it hasn’t said done or given the pause message yet – and won’t, until I close the notepad++ window. If I run a cmd.exe window, and cd %TEMP%, then run nppsync.bat, it gives the same behavior. But if I run cmd.exe window, cd \, and run %TEMP%\nppsync.bat, it will immediately continue thru to pause, even before Notepad++ is finished loading in the background. But if I do cmd.exe, then cd \ and call %TEMP%\nppsync.bat, then it will go back to the desired wait-for-NPP behavior.

                    Could you try those exact experiments, and let us know how they differ from my results? (And, FYI, yes, if you edit the nppsync.bat file in Notepad++, and do the Save As, you can type the filename exactly like %TEMP%\nppsync.bat and it will save it in your TEMP directory.) And if you get the same results I did, then please explain exactly how you are running your original batch file, and copy/paste the entire batch file here, indented 4 spaces, or surrounded like the following trick:

                    ```z
                    contents here
                    ```
                    

                    so it will render like

                    contents here
                    

                    in the forum

                    1 Reply Last reply Reply Quote 1
                    • guy038G
                      guy038
                      last edited by guy038

                      Hi, @peterjones,

                      As you said, I created a batch file, in the usual My Documents folder, named test.bat, with contents, below :

                      @echo off
                      
                      cd \
                      
                      start /wait notepad++.exe
                      echo first
                      pause
                      
                      start /wait "c:\_751\notepad++.exe"
                      echo second
                      pause
                      
                      start /wait "" "c:\_751\notepad++.exe"
                      echo third
                      

                      After opening a new DOS console, and starting the Test.bat batch file

                      d:\Documents and Settings\xvr823.380490A\Mes documents (22:52:45)
                      
                      >test.bat
                      

                      Of course, I, immediately, got a Win WP windows, with the message ( after translation ! ) :

                      Windows does not find 'n/wait'. Check if you correctly entered the name and retry. For searching a file, click on the Start button, then on Search.

                      After clicking on the ‘OK’ button, in the DOS console, it displays :

                      The system cannot find the notepad++.exe file.
                      first
                      Press a key to continue...
                      

                      Now, pressing any key, a new DOS console opened, with title C:\_751\notepad++.exe and the text :

                      Microsoft Windows XP [version 5.1.2600]
                      (C) Copyright 1985-2001 Microsoft Corp.
                      
                      D:\ (22:57:20)
                      
                      >
                      

                      On closing this new DOS console windows, the message ^CEnd the commands program (Y/N) ? was displayed on the first DOS console

                      Then, after hitting the N key, it displays :

                      second
                      Press a key to continue...
                      

                      Now, hitting any key, again, this time, notepad++ started, with focus on the last current file, before closing N++ ;-))

                      Finally, on closing Notepad++, it displays, on the DOS console :

                      third
                      
                      D:\ (23:02:51)
                      

                      So, seemingly, Peter, that is exactly what you expected to !

                      Cheers,

                      guy038

                      1 Reply Last reply Reply Quote 2
                      • Stefano FratoniS
                        Stefano Fratoni
                        last edited by

                        this works.
                        thank of all for the support!!

                        COPY %1 .%1.swp
                        START /wait "" NOTEPAD++ -multiInst "%1"
                        DEL .%1.swp
                        
                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors