Silent Nomad
A traveller with a camera!
home
blog
about
contact

Sadhu in Varanasi

Sadhus are Hindu holy men with specific spiritual goals. Pictured is one sadhu, just after sunrise, on the sandy eastern side of the River Ganges in the holy city of Varanasi. This area is a relatively open space within the city centre, in contrast to the western side with its many temples and ghats.

An NFT to a high-resolution image of this photo can be found and bought at OpenSea.

Reconnect mapped network drives using Command Prompt batch script, and using Lightroom Classic catalogues on a network

I use Adobe Photoshop and Adobe Lightroom Classic (LrC) for my photographic workflow on Windows 10. I keep my photos on my NAS, and access these from my Windows PC workstation using a 10GbE network. It’s pretty fast as the NAS drives are in a RAID10 (1+0) configuration with 8 HDD drives so that 10GbE bandwidth is well utilised. I also keep my LrC catalogues on the NAS drive so that I can use one of my other PCs to access the catalogues, but LrC will not allow you to use network folders for storing catalogues. I believe that Adobe state that this is because of poor network performance and concerns on multiuser access; both of which are not relevant to my use case so Adobe’s barriers, although well-intentioned, actually stink.

Luckily, LrC will not detect that a catalogue is on a network if you use the SUBST command within Windows 10 to map the catalogue folder to a drive. Using LrC with WiFi is not a very good user experience, so if you want to put your LrC catalogues on a network share, I’d recommend a wired Ethernet connection instead of WiFi; 10GbE is preferred but GbE is workable. My main use case is LrC catalogues accessible over the LAN, but I obviously use my NAS for storing all my other documents so mapping network drives is very useful for those other use cases.

I use Windows “Map network drive” option within Windows Explorer to map all the other folders on my NAS for generic access, and is the preferred way of mapping network shares within Windows. However, when booting into Windows, the OS sometimes does not reconnect mapped network drives even though the mapping is configured with the “Reconnect at sign-in” option. This is due to various timing constraints of resources during boot. Although free Third-Party applications are available that can automatically reconnect your mapped network drives, I would rather to do this using Windows built-in tools than add more unnecessary software to my system. I’ve therefore put-together a Command Prompt batch script using the “NET USE” and “SUBST” commands which runs in Windows 10 Pro 64-bit. It’s robust and reliable, but it does depend on the implementation of your LAN (use 10GbE where possible).

The script is saved as a .CMD batch file which is executed twice by the Task Scheduler at user log on; one in non-admin mode, and the other in admin mode (run in highest privileges). This allows a mapped drive to be visible to those applications running in non-admin modes and also to those applications running in admin modes. I also used the CMDKEY command at the Command Prompt (not in a batch script) to add my network share credentials so that I didn’t have to add the credentials to the NET USE command; this just needs to be run once. The CMDKEY format was:

cmdkey /add:192.168.49.69 /user:username /pass:password

Or you can use the Windows “Credential Manager” and add these credentials within the “Windows Credentials” section; a lot easier to use than the command line!

The full batch script is below. Of course, use your own NAS IP address and your own preferred drive letters. For me, D is for Data (where all my files are kept), and L is for Lightroom (where my Catalogues are kept).

@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET me=%~n0
SET parent=%~dp0

TITLE Mapping network drives
@ECHO Please wait whilst we connect your drives
TIMEOUT /t 1 /NOBREAK >NUL

:Start
ECHO _____________________________________

IF EXIST D:\NUL (
    ECHO:
    ECHO D: drive is already mapped
    GOTO Subst_drive
) ELSE (
    ECHO:
    ECHO D: drive does not exist
)

:NetUse
IF EXIST \\192.168.49.69\Data\ (
    ECHO:
    ECHO NAS folder exists so run NET USE command
    NET USE D: \\192.168.49.69\Data /PERSISTENT:YES
) ELSE (
    ECHO:
    ECHO NAS folder does not exist
    GoTo ErrorPrompt
)

IF "%ERRORLEVEL%" NEQ "0" (
    IF "%ERRORLEVEL%" NEQ "2" (
        ECHO:
        ECHO NET USE returncode has error and is %ERRORLEVEL%
        GOTO ErrorPrompt
    )
) ELSE (
    ECHO:
    ECHO NET USE returncode should be 0 and is %ERRORLEVEL%
)

:Subst_drive
IF EXIST "\\192.168.49.69\Data\Documents\LR catalogs" (
    ECHO:
    ECHO Lightroom catalog folder exists so run SUBST command
    SUBST L: "\\192.168.49.69\Data\Documents\LR catalogs"
) ELSE (
    ECHO:
    ECHO Lightroom catalog folder does not exist
    GOTO ErrorPrompt
)

IF "%ERRORLEVEL%" NEQ "0" (
    IF "%ERRORLEVEL%" NEQ "1" (
        ECHO:
        ECHO SUBST returncode has error and is %ERRORLEVEL%
        GOTO ErrorPrompt
    )
) ELSE (
    ECHO:
    ECHO SUBST returncode should be 0 and is %ERRORLEVEL%
    GOTO Endofscript
)

REM catchall
GOTO Endofscript

:ErrorPrompt
ECHO _____________________________________
ECHO:
SET /P userinput="Errors were found. Do you wish to try again [Y/n] "
IF /I "%userinput%" EQU "y" GOTO Start
IF /I "%userinput%" EQU "" GOTO Start
IF /I "%userinput%" EQU "n" GOTO Endofscript
GOTO ErrorPrompt

:Endofscript
ECHO _____________________________________
ECHO:
@ECHO Please wait, script is closing.
TIMEOUT /t 5 /NOBREAK >NUL
rem pause
ENDLOCAL
@ECHO OFF
@EXIT /B 0

The chowkidar

Northern Afghanistan, near the ruins of the ancient city of Balkh, in the region once known as Bactria.

Balkh was once a majestic city, and one with an illustrious history. It was likely a base from which the Aryan civilisation spread through the region. Zoroaster is claimed to have been born here, and it is where Alexander the Great married Roxanne, a local Bactrian. A place once renowned for its Buddhist monasteries and stupas, a place the Arabs called the “Mother of all cities”. But after centuries of war and climate change, those days are long gone.

The remains of probably the oldest mosque in Central Asia can be found here, itself having been built on the ruins of Buddhist and Zorastrian temples. This is where I came across the site’s caretaker (chowkidar). He allowed us access to the ruins and to roam the area.