Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Photoshop File saving errors

New Here ,
Dec 31, 2025 Dec 31, 2025

I work in Photoshop a lot and have been dealing with this issue for a while. I’ve found workarounds, but it’s gotten to the point where I can’t ignore it anymore.

When I try to save PSD or PSB files, it struggles hard. Sometimes it takes like 20–30 mins to save a file. I understand they’re large files, but I don’t remember it ever taking this long. A lot of the time it fails entirely and gives me one of these two errors:

1.) Error 0x8007045D: The request could not be performed because of an I/O device error.
2.) Could not save “DSC000” because of a disk error.

A couple months ago, I found a workaround by saving to the desktop first and then moving it to the external SSD, but that has stopped working.

I used to not have many issues with JPGs, but now those are starting to be a problem too. I’m having trouble saving them directly to the SSD from Photoshop. The workaround still works for JPGs, but not for PSD/PSB files.

SSD: Samsung T7 Shield – 1TB capacity, ~500GB free

  • No issues saving other files (Word docs, Excel, etc.)
  • No issues saving TIF files from Lightroom, although it does take forever there too

What I’ve tried:

  • SSD: Properties > Tools > Check for file system errors and repair → No errors found
  • Photoshop: Edit > Purge > All
  • PC specs:
    • CPU: AMD Ryzen 5 5600 – OC to 4.2 GHz
    • MSI MPG X570
    • AMD Radeon RX 6600 – OC
    • 64 GB RAM @ 3600 (I think)

Yesterday, I updated to Windows 11 (I hate it) and also updated the BIOS (hadn’t done it since I built the PC in ’22) because Lightroom kept crashing. Lightroom no longer crashes, but I’ve noticed Adobe programs in general are running slower than normal (all are up to date).

Questions:

1.) Is there a way to fix my SSD so this isn’t an issue and I can save directly from Adobe apps without it taking forever?
2.) Is there anything I can do to stop Adobe programs from running so slow?

TOPICS
Windows
156
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Dec 31, 2025 Dec 31, 2025

I wrote a couple of simple scripts to save open files locally, then file-copy them to a selected directory:

 

 
This updated 1.2 version offers a GUI with additional options:
 
Screenshot 2026-01-01 104145.png
 
/*
Save Locally and Copy All Open Files to Network Folder v1-2.jsx
Stephen Marsh
v1.0 - 10th March 2025: Simple ExtendScript based file object copy, no GUI
v1.1 - 10th M
...
Translate
Adobe
Adobe Employee ,
Dec 31, 2025 Dec 31, 2025

Hi @rlaz.jpg, welcome to the community!
Could you let us know what version of Photoshop you’re using? One thing to check is that your scratch disks are set up correctly. Here’s a helpful guide:
https://adobe.ly/49pR4Nk

 

If that doesn't help, please share your System Info from Ps. You can find it in Photoshop under Help > System Info. Just copy the info to a text file and attach it to your response, or share it with us through Google Drive, WeTransfer, or another file-sharing platform.
Thanks!
Alek

*(If you mention me with an @, like @Aleke, I’ll get a notification and can respond faster.)*
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Dec 31, 2025 Dec 31, 2025

Best practice is to always save directly to the internal drive, then perform a file-system copy to an external or network drive:

 

https://helpx.adobe.com/au/photoshop/kb/networks-removable-media-photoshop.html

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Dec 31, 2025 Dec 31, 2025
LATEST

I wrote a couple of simple scripts to save open files locally, then file-copy them to a selected directory:

 

 
This updated 1.2 version offers a GUI with additional options:
 
Screenshot 2026-01-01 104145.png
 
/*
Save Locally and Copy All Open Files to Network Folder v1-2.jsx
Stephen Marsh
v1.0 - 10th March 2025: Simple ExtendScript based file object copy, no GUI
v1.1 - 10th March 2025: More complex platform dependent file copy, no GUI
v1.2 - 31st March 2025: Added a GUI and other features
https://community.adobe.com/t5/photoshop-ecosystem-discussions/photoshop-file-saving-errors/td-p/15648552
Info:
https://helpx.adobe.com/photoshop/kb/networks-removable-media-photoshop.html
Original discussion:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/script-to-copy-the-name-of-multiple-open-documents-to-a-single-text-file/td-p/15201067
*/

#target photoshop;

// Check if there are any open documents
if (app.documents.length === 0) {
    alert("A document must be open to run this script!");
    exit();
}

// Create the main window
var mainWindow = new Window("dialog", "Save Locally and Copy All Open Files to Network Folder (v1.2)");
mainWindow.orientation = "column";
mainWindow.alignChildren = "left";
mainWindow.preferredSize.width = 500;

// Content panel/group
var panel = mainWindow.add("panel", undefined, ""); // Panel label
panel.orientation = "column";
panel.alignChildren = "left";
panel.margins = [10, 10, 10, 10];
panel.preferredSize.width = 500;

// Information text
var infoText = panel.add("statictext", undefined, "Note: Files will be overwritten if they already exist in the network folder.");
infoText.characters = 200;
infoText.preferredSize = [500, 20]; // Set width and height

// Add the document count label
var docCountLabel = panel.add("statictext", undefined, "Open document count: " + app.documents.length);

// Add the folder selection button
var folderSelectionGroup = panel.add("group");
folderSelectionGroup.orientation = "row";
folderSelectionGroup.alignChildren = "left";
var folderButton = folderSelectionGroup.add("button", undefined, "Select Network Folder");
// statictext or edittext for path
var folderLabel = folderSelectionGroup.add("statictext", undefined, "No folder selected", { truncate: "middle" });
//folderLabel.characters = 30;
folderLabel.preferredSize.width = 250;

// Add checkbox for saving files
var saveFilesCheckbox = panel.add("checkbox", undefined, "Save all open files before copying");
saveFilesCheckbox.value = true; // Default to checked

// Add Cancel and OK buttons
var buttonGroup = mainWindow.add("group");
buttonGroup.orientation = "row";
buttonGroup.alignment = "right";
var cancelButton = buttonGroup.add("button", undefined, "Cancel", { name: "cancel" });
var okButton = buttonGroup.add("button", undefined, "OK", { name: "ok" });

// Folder selection button click handler
folderButton.onClick = function () {
    var destinationFolder = Folder.selectDialog("Select the destination folder");
    if (destinationFolder) {
        folderLabel.text = destinationFolder.fsName;
        mainWindow.destinationFolder = destinationFolder;
    } else {
        folderLabel.text = "No folder selected";
        mainWindow.destinationFolder = null;
    }
};

// OK button click handler
okButton.onClick = function () {
    if (mainWindow.destinationFolder) {
        mainWindow.close(1);

        // First save all open documents if the checkbox is checked
        if (saveFilesCheckbox.value) {
            saveAllOpenDocuments();
        }

        // Then copy the files
        copyOpenFiles(mainWindow.destinationFolder);
    } else {
        alert("Please select a destination folder.");
    }
};

// Cancel button click handler
cancelButton.onClick = function () {
    mainWindow.close(0);
};

// Show the window
mainWindow.show();


function saveAllOpenDocuments() {
    var savedCount = 0;
    var unsavedCount = 0;
    var currentActiveDoc = app.activeDocument; // Store the current active document

    // First count how many unsaved documents we have
    for (var i = 0; i < app.documents.length; i++) {
        if (!app.documents[i].saved) {
            unsavedCount++;
        }
    }

    // If there are unsaved documents, ask for confirmation
    if (unsavedCount > 0) {
        var confirmSave = confirm("There are " + unsavedCount + " unsaved document(s). Do you want to save them?");
        if (!confirmSave) {
            return 0; // User canceled save operation
        }
    }

    // Loop through and save each document
    for (var i = 0; i < app.documents.length; i++) {
        var doc = app.documents[i];

        try {
            // Make this document active before saving
            app.activeDocument = doc;

            // If the document has never been saved before, we need to prompt for location
            if (doc.path.toString() === "") {
                var saveFile = File.saveDialog("Save " + doc.name + " as:");
                if (saveFile) {
                    doc.saveAs(saveFile);
                    savedCount++;
                }
            }
            // Otherwise just save it
            else if (!doc.saved) {
                doc.save();
                savedCount++;
            }
        } catch (e) {
            alert("Error saving " + doc.name + ": " + e);
        }
    }

    // Restore the original active document
    try {
        app.activeDocument = currentActiveDoc;
    } catch (e) {
        // If the original document was closed during the process, this might fail
        // Just continue with whichever document is now active
    }

    return savedCount;
}

function copyOpenFiles(destinationFolder) {
    var openDocs = app.documents.length;

    // Loop over all open documents
    for (var i = 0; i < app.documents.length; i++) {
        var doc = app.documents[i];
        var docPath = doc.fullName.fsName; // Get the full path of the document in the OS-specific format
        //alert(docPath);
        if (docPath) {
            // If the file copy fails, alert to the user with the path of the file that failed to copy
            if (!copyFile(docPath, destinationFolder.fsName)) {
                alert("Failed to copy: " + docPath);
            }
        } else {
            alert("Cannot copy " + doc.name + " because it has not been saved.");
        }
    }

    var finalFileCount = getFileCount(destinationFolder);
    var filesCopied = finalFileCount;

    // End of script notification
    app.beep();
    alert("Script completed!" + "\r" +
        "Open document count: " + openDocs + "\n" + "Files copied: " + filesCopied);
    // Open the destination folder
    destinationFolder.execute();
}

function getFileCount(folder) {
    var files = folder.getFiles();
    return files.length;
}

/*
Based on:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/to-move-files-and-folders/td-p/8787869/page/2
by willcampbell7
*/
function copyFile(sourceFilePath, destinationFolderPath) {
    var command;
    var fileFrom = new File(new File(sourceFilePath).fsName);
    var fileTo = new File(destinationFolderPath + "/" + fileFrom.name);
    var folderTo = new Folder(destinationFolderPath);

    if (!folderTo.exists) {
        folderTo.create();
    }

    if (File.fs == "Macintosh") {
        // First copy the file
        command = "cp \"" + fileFrom.fsName + "\" \"" + fileTo.fsName + "\"";
        app.system(command);

        // Use a standalone AppleScript file for Finder comment copying
        var scriptContent = 'tell application "Finder"\n' +
            '  set sourceFile to POSIX file "' + fileFrom.fsName.replace(/\\/g, "\\\\").replace(/"/g, "\\\"") + '" as alias\n' +
            '  set destFile to POSIX file "' + fileTo.fsName.replace(/\\/g, "\\\\").replace(/"/g, "\\\"") + '" as alias\n' +
            '  set commentText to comment of sourceFile\n' +
            '  if commentText is not "" then\n' +
            '    set comment of destFile to commentText\n' +
            '  end if\n' +
            'end tell';

        // Create a temporary AppleScript file
        var scriptFile = new File("/tmp/copy_comment.applescript");
        scriptFile.encoding = "UTF-8";
        scriptFile.open("w");
        scriptFile.write(scriptContent);
        scriptFile.close();

        // Execute the script with proper permissions
        app.system("osascript /tmp/copy_comment.applescript");

        // Clean up
        app.system("rm /tmp/copy_comment.applescript");

    } else if (File.fs == "Windows") {
        command = "copy \"" + fileFrom.fsName + "\" \"" + fileTo.fsName + "\"";
        app.system(command);
    }

    if (fileTo.exists) {
        return true;
    } else {
        return false;
    }
}

 

  1. Copy the code text to the clipboard
  2. Open a new blank file in a plain-text editor (not in a word processor)
  3. Paste the code in
  4. Save as a plain text format file – .txt
  5. Rename the saved file extension from .txt to .jsx
  6. Install or browse to the .jsx file to run (see below):

 

https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines