bat*_*a13 1 windows command prompt batch-file
我在C:\驱动器上有两个批处理文件,我使用%~dp0命令使用第一个脚本的路径来复制第二个批处理脚本:
COPY %~dp0"Hello World.BAT" C:\"Hello World.bak"
Run Code Online (Sandbox Code Playgroud)
在脚本的早期,我需要更改到根目录下的子目录,C:\但是这会阻止上面的复制命令,因为我得到的错误是"无法找到文件".如果我留在C:\复制命令的根目录完美.任何想法为什么会这样.
另一种解决方法是将%~dp0保存在脚本开头的另一个变量中.
@echo off
setlocal
set filepath=%~dp0
.
.
some code
.
.
cd away from original path
.
.
COPY "%filepath%Hello World.BAT" "C:\Hello World.bak"
Run Code Online (Sandbox Code Playgroud)
这应该工作.
我很想念它不起作用的原因与你的报价有关.
你有这个:
COPY %~dp0"Hello World.BAT" C:\"Hello World.bak"
Run Code Online (Sandbox Code Playgroud)
用这个替换它:
COPY "%~dp0Hello World.BAT" "C:\Hello World.bak"
Run Code Online (Sandbox Code Playgroud)
你需要用引号包装整个路径,以确保它可以工作.如果你有:
C:\Program Files\Somefolder\
Run Code Online (Sandbox Code Playgroud)
作为你的路径并使用引号你如何拥有它们将会像这样:
"C:\Program Files\Somefolder\""Hello World.bak"
Run Code Online (Sandbox Code Playgroud)
它不会起作用.
| 归档时间: |
|
| 查看次数: |
4537 次 |
| 最近记录: |