【发布时间】:2021-02-17 15:51:34
【问题描述】:
我正在尝试在批处理文件循环中实现此命令
md Documents
md Spreadsheets
md Medias
md Applications
md Archives
md Scripts
md Database
md Projects
md Tutorials
清理文档
move *.pdf Documents
move *.doc* Documents
move *.ppt* Documents
move *.txt Documents
move *.draw* Documents
move *.msg* Documents
清理电子表格
move *.csv Spreadsheets
move *.xls* Spreadsheets
move *.xml* Spreadsheets
清理媒体
move *.psd Medias
move *.png Medias
move *.jp* Medias
move *.gif Medias
move *.tiff Medias
move *.mp* Medias
move *.avi Medias
清理应用程序
move *.exe Applications
move *.msi Applications
move *.iso Applications
move *.vsix Applications
清理档案
move *.zip Archives
move *.rar Archives
move *.7z Archives
move *.tar Archives
清理脚本
move *.cs Scripts
move *.js Scripts
move *.css Scripts
清理数据库文件
move *.sql Database
move *.bak Database
move *.accdb Database
尝试使用 FOR 循环实现与上述相同的目的,并从文档电子表格等 SET 变量的内部循环中获取扩展。
变量
SETLOCAL
SET Folders=Documents Spreadsheets Medias Applications Archives Scripts Database
SET Documents=*.pdf *.doc* *.ppt* *.txt *.draw* *.msg*
SET Spreadsheets=*.csv *.xls *.xml
SET Medias=*.psd *.png *.jp* *.gif *.tif *.mp* *.avi *.mov
SET Applications=*.exe *.msi *.vsix *.iso
SET Archives=*.zip *.rar *.7z *.tar
SET Scripts=*.cs *.js *.css
SET Database=*.sql *.bak *.accdb
循环
FOR %%f IN (%Folders%) DO
(
ECHO %%f
FOR %%e IN (%%%%f%%) DO (
ECHO %%e %%f
)
)
TIMEOUT /t 10
CLS
循环的输出是这样的
Documents
%Documents% Documents
Spreadsheets
%Spreadsheets% Spreadsheets
Medias
%Medias% Medias
Applications
%Applications% Applications
Archives
%Archives% Archives
Scripts
%Scripts% Scripts
Database
%Database% Database
【问题讨论】:
标签: windows for-loop batch-file nested