如何编写批处理脚本,根据用户输入将目录更改为通配符文件夹,以便复制一个



我希望能够将zip文件从桌面上的文件夹复制过来。该文件夹每周都会有不同的名称。我们会处理并删除。我希望能够使用用户输入来查找桌面上有该名称的任何文件夹。一旦找到,我希望能够进入该文件夹,并将zip文件复制到一个名为PROCESSED LINKFILES的文件夹中。这是脚本。第一部分工作得很好,但我无法通过使用通配符功能*获得用户输入以找到正确的文件夹。请帮助:

usermessage.vbs

ECHO WScript.Echo InputBox( "Please Enter the name of the store", "Store Name", "" )
FOR /F "tokens=*" %%A IN ('CSCRIPT.EXE //NoLogo usermessage.vbs') DO SET StoreName=%%A
ECHO Store Name is %StoreName%
DEL usermessage.vbs

copy C:UsersADMINISTRATORDesktop*%StoreName%**.zip C:UsersADMINISTRATORDesktopPROCESSED_LINKFILES

读取HELP FOR,然后在命令行尝试此双FOR循环

for /d %d in (tempf*) do @for %f in (%df*) do @echo %f

如你所见,它将遍历所有的f*文件夹,对于每个文件夹,它将遍历所有的f*文件。

因此,根据您的需求调整这个简单的策略并给它一个适当的BAT语法,您可以开始尝试这个…

@echo off
set storename=%1
set myfolder=C:UsersADMINISTRATORDesktop
set dstfolder=%myfolder%PROCESSED_FILES
set myfiles=*.zip
for /d %%d in (%myfolder%*%storename%*) do (
  for %%f in (%%d%myfiles%) do (
    echo copy %%f %dstfolder%
  )
)

拆下ECHO前仔细测试

最新更新