【发布时间】:2015-07-23 16:00:36
【问题描述】:
我创建了以下配置文件,其中包含批处理文件要使用的参数:
文件winscp.conf:
folder %appData%\winscp
version 5.7.4
visit http://sourceforge.net/projects/winscp/files/WinSCP/
download http://sourceforge.net/projects/winscp/files/WinSCP/5.7.4/winscp574.zip
批处理文件(get.bat):
@echo off
setlocal
@if not exist "%1" (
echo Config file not found in "%1"
exit /B
)
@for /f "tokens=1,2 delims= " %%A in (%1) do (
set %%A=%%B
)
mkdir %folder%
当我这样调用批处理文件时:
get.bat winscp.conf
我在当前文件夹中创建了一个子文件夹 %appData%\winscp,如下所示:
c:\Temp\%appData%\winscp
而我想要的是在 Windows 应用数据文件夹中创建的 winscp 文件夹,如下所示:
C:\Users\Caffe\AppData\Roaming\winscp
我认为声明 set %%A=%%B 有问题,因为如果我将其更改为 set %%A=%appData%\winscp,我确实会按照我想要的方式创建文件夹。
【问题讨论】:
标签: windows batch-file environment-variables