Skip to content

WebDAV Commands

Commands for file operations on B2C Commerce instance WebDAV.

Global WebDAV Flags

These flags are available on all WebDAV commands:

Root Directory

FlagDescriptionDefault
--root, -rWebDAV root directoryimpex

Available roots:

  • impex - Impex directory (default)
  • temp - Temporary files
  • cartridges - Code cartridges
  • realmdata - Realm data
  • catalogs - Product catalogs
  • libraries - Content libraries
  • static - Static resources
  • logs - Log files
  • securitylogs - Security log files

Authentication

WebDAV commands require authentication to access instance files.

Basic Auth provides better performance for WebDAV operations using your Business Manager username and WebDAV access key:

bash
export SFCC_USERNAME=my-user
export SFCC_PASSWORD=my-webdav-access-key
b2c webdav ls

Or via flags:

bash
b2c webdav ls -u my-user -p my-access-key

OAuth

OAuth can also be used with an Account Manager API Client:

bash
export SFCC_CLIENT_ID=my-client
export SFCC_CLIENT_SECRET=my-secret
b2c webdav ls

Mixed Authentication

For operations that require both WebDAV and OCAPI (like code deploy), you can provide both:

bash
export SFCC_USERNAME=my-user
export SFCC_PASSWORD=my-access-key
export SFCC_CLIENT_ID=my-client
export SFCC_CLIENT_SECRET=my-secret
b2c code deploy

b2c webdav ls

List files and directories in a WebDAV location.

Usage

bash
b2c webdav ls [PATH]

Arguments

ArgumentDescriptionDefault
PATHPath relative to rootRoot directory

Examples

bash
# List root of Impex
b2c webdav ls

# List a subdirectory
b2c webdav ls src/instance

# List cartridges
b2c webdav ls --root=cartridges

# List log files
b2c webdav ls --root=logs

# Output as JSON
b2c webdav ls --root=logs --json

Output

Name                Size       Modified
──────────────────────────────────────────────────────
src/                -          12/20/2024, 10:00 AM
archive.zip         45.2 KB    12/19/2024, 3:30 PM
data.xml            12.8 KB    12/18/2024, 9:15 AM

b2c webdav get

Download a file from WebDAV.

Usage

bash
b2c webdav get <REMOTE> [LOCAL]

Arguments

ArgumentDescriptionRequired
REMOTERemote file path relative to rootYes
LOCALLocal destination pathNo (uses filename in current directory)

Examples

bash
# Download to current directory
b2c webdav get src/instance/export.zip

# Download to specific location
b2c webdav get src/instance/export.zip ./downloads/export.zip

# Download a log file
b2c webdav get --root=logs customerror.log

# Download from cartridges
b2c webdav get --root=cartridges app_storefront_base/cartridge/templates/default/home.isml

b2c webdav put

Upload a file to WebDAV.

Usage

bash
b2c webdav put <LOCAL> <REMOTE>

Arguments

ArgumentDescriptionRequired
LOCALLocal file path to uploadYes
REMOTERemote destination (directory or file path)Yes

Examples

bash
# Upload to root directory
b2c webdav put ./export.zip /

# Upload to subdirectory (keeps filename)
b2c webdav put ./export.zip src/instance/

# Upload with renamed file
b2c webdav put ./data.xml src/instance/renamed.xml

# Upload to temp directory
b2c webdav put ./file.tar.gz / --root=temp

Notes

  • If REMOTE ends with / or is /, the source filename is used
  • Parent directories must exist (use webdav mkdir to create them)

b2c webdav mkdir

Create a directory on WebDAV.

Usage

bash
b2c webdav mkdir <PATH>

Arguments

ArgumentDescriptionRequired
PATHDirectory path to create (relative to root)Yes

Examples

bash
# Create in Impex
b2c webdav mkdir src/instance/my-folder

# Create in temp directory
b2c webdav mkdir --root=temp my-temp-dir

# Create in cartridges
b2c webdav mkdir --root=cartridges new-cartridge

b2c webdav rm

Delete a file or directory from WebDAV.

Usage

bash
b2c webdav rm <PATH>

Arguments

ArgumentDescriptionRequired
PATHPath to delete relative to rootYes

Flags

FlagDescriptionDefault
--force, -fSkip confirmation promptfalse

Examples

bash
# Delete a file (with confirmation)
b2c webdav rm src/instance/old-export.zip

# Delete without confirmation
b2c webdav rm src/instance/old-export.zip --force

# Delete from temp directory
b2c webdav rm --root=temp my-temp-dir --force

Notes

  • Deleting a directory removes all contents recursively
  • Use --force to skip the confirmation prompt

b2c webdav zip

Create a zip archive of a remote file or directory.

Usage

bash
b2c webdav zip <PATH>

Arguments

ArgumentDescriptionRequired
PATHRemote path to zip (relative to root)Yes

Examples

bash
# Zip a directory in Impex
b2c webdav zip src/instance/data

# Zip a cartridge
b2c webdav zip --root=cartridges my-cartridge

Notes

  • The zip file is created in the same location with .zip extension
  • This operation is performed server-side

b2c webdav unzip

Extract a remote zip archive.

Usage

bash
b2c webdav unzip <PATH>

Arguments

ArgumentDescriptionRequired
PATHRemote zip file path (relative to root)Yes

Examples

bash
# Extract in Impex
b2c webdav unzip src/instance/export.zip

# Extract a cartridge archive
b2c webdav unzip --root=cartridges my-cartridge.zip

Notes

  • Contents are extracted to the same directory as the zip file
  • This operation is performed server-side

All rights reserved.