批处理 变量 变量延迟 引用用命令查找到的文件的路径

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:20:26
@echo off
setlocal EnableDelayedExpansion
set /p tempvar=输入:
if "!tempvar!"=="3" (set /p tempvar=*) else echo 不等于3
echo !tempvar!
pause

以上代码,当我输入“3”时,为什么不显示“*”呢,我想要的结果是:当输入的字符等于指定的字符时,把变量重新赋值为“*”,然后再另处引用变量的新值“*”,请问要怎样写代码?
第二个问题是当我用dir命令查找到一个文件时,怎样用批处理把这个被查找到的文件移到另一个盘符去?
要怎样配合For /f 和 move啊,请教!!!

直接赋值是 set
set /p 是用户变量的值

@echo off& mode con cols=70 lines=10& color 17& setlocal enabledelayedexpansion
set /p tempvar=输入:& cls
if "%tempvar%"=="3" (set tempvar=*) else echo 不等于3
echo %tempvar%
pause 1>nul

for /f "delims=" %%1 in ('dir /s /b 文件名')do move "%%~1" "D:\"