run python script to multiple opened files



  • Hello all, i am new to python and wrtoe a simple script to automate some boring task in text files.
    The script been tested and ready to go and i am wondering is there a way to run through the script to all opened files instead of running the script one by one on each opened files.

    Cheers
    Ken



  • @YUNG

    I assume you are using the pythonscript plugin.
    If this is the case, then get all open files with notepad.getFiles().
    This returns a list of tuples containing (filename, bufferid, index, viewid).
    Loop over it - done.



  • @Ekopalypse thank you :)



  • from Npp import *
    
    def forEachFile(func):
    	for file in notepad.getFiles():
    		notepad.activateBufferID(file[1])
    		func()
    
    def printFilename():
    	print notepad.getCurrentFilename()
    
    # store the current buffer id
    currentBufferID = notepad.getCurrentBufferID()
    # run our printFilename function on each open file
    forEachFile(printFilename)
    # restore the current buffer from the stored buffer id.
    notepad.activateBufferID(currentBufferID)
    

Log in to reply