How to output results of an AppleScript image resizing script and display in automator
Give this a try:
use scripting additions

global target_width
global selImgs, chgList -- list of selected images, list of scaled images
global ctr, imgCt -- processed image counter, progress bar image total

set selImgs to {}
set target_width to 2000
set chgList to {}

display dialog &quot;Enter maximum width&quot; default answer &quot;2000&quot;
set target_width to the text returned of result as integer

-- Close scaled list (if open from previous run)
tell application &quot;TextEdit&quot;
    if exists document &quot;scaled.txt&quot; then
        close document &quot;scaled.txt&quot;
    end if
end tell

-- Selected images &gt; list of alias
tell application &quot;Finder&quot;
    set selImgs to selection as alias list
end tell

-- construct progress bar
set imgCt to length of selImgs
set my progress total steps to imgCt
set my progress completed steps to 0
set ctr to 0
set my progress description to &quot;Scaling images...&quot;
set my progress additional description to &quot;Preparing to process.&quot;

-- the horror…
repeat with ei in selImgs
    rescale_and_save(ei)
end repeat

-- Notification of changes (filenames if &lt; 4, otherwise count)
considering application responses
    set AppleScript's text item delimiters to space
    if length of chgList &gt; 4 then
        set imChg to length of chgList as text
    else
        set imChg to chgList as text
    end if
    display notification imChg with title &quot;Images scaled&quot;
end considering

-- Publish list of scaled images
set AppleScript's text item delimiters to return
set chText to chgList as text
set scFile to (((path to desktop) as text) &amp; &quot;scaled.txt&quot;) as «class furl»
close access (open for access scFile)
write chText to scFile as text
tell application &quot;TextEdit&quot;
    open scFile
    set bounds of front window to {30, 30, 300, 240}
end tell

-- the horror….
to rescale_and_save(this_file)
    tell application &quot;Image Events&quot;
        launch
        -- before each test run, I duplicate the images, so I won't have to re-fetch the originals
        if name of this_file contains &quot;copy&quot; then
            
            -- open the image file, increment progress bar
            set this_image to open this_file
            set ctr to (my progress completed steps) + 1
            set my progress additional description to &quot;Scaling image &quot; &amp; ctr &amp; &quot; of &quot; &amp; imgCt
            set my progress completed steps to ctr
            
            -- process image (measure, scale, save, collect name)
            copy dimensions of this_image to {current_width, current_height}
            
            if current_width is greater than target_width then -- wide enough to process
                set txName to name of this_image as text
                
                if current_width is greater than current_height then -- when landscape
                    scale this_image to size target_width
                    save this_image with icon
                    copy txName to end of chgList
                    
                else -- when portrait
                    -- figure out new height
                    -- y2 = (y1 * x2) / x1
                    
                    -- NB as 'scale to size' requires integer, round up
                    set new_height to round (current_height * target_width / current_width) rounding up
                    scale this_image to size new_height
                    save this_image with icon
                    copy txName to end of chgList
                end if
            end if
            close this_image
        end if
    end tell
    
end rescale_and_save

Notes:

For looping through the files, it is simpler to make some_items a list of aliases

When scaling with size rather than factor, new_height should be integer

Save within if…then block, otherwise every selected file will be re-saved, even when not scaled

Use Image Events to save the files

If your folder is a subfolder of Pictures, you can enable 'Dimensions' in list view, which displays something like '2097 ×
3014', letting you see which images will be scaled. It doesn't
update rapidly so it won't typically display the changed dimension,
instead, it displays '--', which at least has the virtue of
identifying which files have been changed.

Progress bar

Track scaled images and raise a notification when done, as well as create a text file log on desktop

Optional: Have a dry run script — tests each image's dimensions and reports back (e.g. count of images to be scaled, filenames of
images to be scaled). You could even have it change the selection to only those files in the Finder when complete. Then when you run the
final script, it will be clear which files will change.


FWIW, I tried using factor to scale but I found that after working for a while, it became erratic, and would often lock up the script (and overheat my mac, and require me to manually quit sips). I grew bored of that and used size (but with forcing new_height to be an integer). After that change, it became more reliable. You may find the tracking unnecessary.