### Solution:
To achieve displaying the absolute path when using `findstr` to search for the specified string in all `.txt` files, you can use the following command:
```batch
@echo off
set "ph=D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书"
pushd "%ph%" & for /f "delims=" %a in ('dir /s/b/a-d *.txt') do @findstr /smic:"小龙女深情脉脉的看着杨过" "%a"
```
Explanation:
- `pushd "%ph%"` changes the current directory to the specified path.
- `for /f "delims=" %a in ('dir /s/b/a-d *.txt')` loops through all `.txt` files in the current directory and its subdirectories.
- `@findstr /smic:"小龙女深情脉脉的看着杨过" "%a"` searches for the specified string in each of the `.txt` files found, and the `%a` represents the full path of each `.txt` file, thus displaying the absolute path.
If you want to put it in a batch script (`.bat` file), the `%a` should be changed to `%%a`:
```batch
@echo off
set "ph=D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书"
pushd "%ph%"
for /f "delims=" %%a in ('dir /s/b/a-d *.txt') do findstr /smic:"小龙女深情脉脉的看着杨过" "%%a"
```