# Windows批处理更改当前工作路径的BAT

dir /s /b *.* > test.txt

dir /s /b *.* > D:\test\test.txt

```cd /d %~dp0
dir /s /b *.* > test.txt ```

I need some help in writing a batch file. I have a path stored in a variable root as follows:

set root=D:\Work\Root

Then I am changing my working directory to this root as follows:

cd %root%

When I execute this batch file from anywhere on the D drive this is done successfully. But when I execute the same batch file from some other drive, cd %root% doesn't work.

Is there a way I can get the drive letter from the root variable? I can then change the current directory to this drive first and then cd %root% shall work.