The scratch folder is the location of a folder you can use to write file-based data, such as shapefiles, text files, and layer files. It is a read-only environment managed by ArcGIS.
The scratch folder environment complements the Scratch Workspace environment. Its primary purpose is for use by scripts and models as geoprocessing services, with the added focus of pointing only to a known folder. When ArcGIS for Server executes a geoprocessing task, the scratch folder is always available to write output to. This environment is also useful in authoring scripts and models for use on the desktop. Writing output to the scratch folder will make your tool portable, because this location will always be available or created at execution time. Learn more about the Scratch Workspace environment
Usage notes
- The scratch folder is guaranteed to exist when your script or model runs; you will have write access to the folder.
- The scratch folder environment is read-only; you cannot set the location directly.
- If your map document has a scratch workspace set, the scratch folder will reflect this value first.
- If your scratch workspace references a geodatabase, the scratch folder environment value will be the folder in which the scratch geodatabase resides.
- If your scratch workspace points to a folder, the scratch folder will be a folder named scratch inside the scratch workspace location. If the folder named scratch does not exist inside the scratch workspace, one will be created.
- If the scratch workspace has not been set, the scratch folder defaults to the current user's Documents directory. On Windows 7 and 8, this directory is C:\Users\<user>\Documents\ArcGIS. Inside this directory, scratch will be created.
- If your map document has a scratch workspace set, the scratch folder will reflect this value first.
- Files written to the scratch folder are not automatically deleted. You will need to do your own cleanup.
- The scratch folder can be used inside your Python scripts. Make sure to set your scratch workspace variable prior to using it; this way, you know where the output will be generated.
Dialog syntax
Scripting syntax
arcpy.env.scratchFolder
Script example
import arcpy
arcpy.env.scratchWorkspace = "c:/LandUse/ForestCover"
# c:\LandUse\ForestCover\scratch
print(arcpy.env.scratchFolder)