This recently came up on Discord as well. The303 pointed out that ripent.exe
(one of the programs that's included in ZHLT / VHLT) can export and import textures from/into bsp files:
ripent.exe -textureexport "C:\where\is\your\valve\maps\mapname.bsp"
This will export embedded textures to a mapname.wad
file in the same directory.
ripent.exe -textureimport "C:\where\is\your\valve\maps\mapname.bsp"
This will import textures from a mapname.wad
file in the same directory, overwriting the embedded textures in the specified .bsp file.
And if, for some reason, you need to remove embedded textures, you can do so with WadMaker:
wadmaker.exe -remove "C:\where\is\your\valve\maps\mapname.bsp"