如何在批处理文件中隔离一个变量,然后将其另存为另一个变量?

时间:2017-03-21 20:44:14

标签: batch-file variables ftp

有没有办法可以使用set命令从给定的变量中隔离几个单词,然后将其保存为另一个变量以便以后使用?

如果我说cd C:\users,我可以采用类似C:\users的内容并将其保存为变量吗?

:inputstage
set /p input=Enter command: 
if /i {%input%}=={get} (goto :get)
:get
set %input%==%getfile%
echo %getfile% >>Files to get.txt
call getfiles.bat
goto: inputstage

当我要求输入命令时输入以下内容:“get index.html”然后它将把index.html保存到名为“files to get.txt”的文件中然后它将调用一段代码将运行ftp接收文件的命令ftp -s:ftpreceive.bat然后将读取“files to get.txt”并查看index.html并将其放入以下ftp代码中获取index.html(或我指定的任何文件)

我是否只能将input变量的一部分变为变量getfile

1 个答案:

答案 0 :(得分:0)

您似乎尝试将单词与输入分开或分成<command><whatever>。在这两种情况下,for都是可行的方法:

@echo off
setlocal enabledelayedexpansion
set "input=get something special"
echo method 1 (get "first word" and "rest"):
for /f "tokens=1*" %%a in ('echo %input%') do (
  set "command=%%a"
  set "param=%%b"
)
echo %command% : %param%
echo/
echo method2 (get every word):
set i=0
for %%a in (%input%) do (
  set "_var[!i!]=%%a"
  set /a i+=1
)
set _var