我需要写一个简单的剧本。重点是对文件夹中的文件进行排序,该文件夹的名称是文件名的第一个字母。我理解操作的顺序(获取@fname的第一个字母;检查文件夹是否存在;创建文件夹;移动文件),但我不明白在没有代码块(do和end)的情况下是如何编写的。forfiles会阻止do/end吗?或者我怎么写这个脚本没有块?
发布于 2014-01-30 22:34:34
以下是另一种方法:
@echo off
for %%a in (1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist "%%a*" md "%%a" 2>nul & move "%%a*" "%%a"
)
pause发布于 2014-01-30 20:46:29
@echo off
dir /b /a-d *.* >tmp
echo END OF FILE>>tmp
echo -- start --
:loop
set /p file=<tmp
if "%file%"=="END OF FILE" goto :end
if "%file%"=="tmp" goto :ignore
md %file:~0,1%\%file% 2>nul
move "%file%" "%file:~0,1%\%file%"
:ignore
more +1 tmp >tmp2
del tmp
ren tmp2 tmp
goto :loop
:end
echo -- finish --
exit /b我开始喜欢那些块^^
不需要检查文件夹是否已经存在,当文件夹不存在时,md会使其存在,如果它确实存在,则会给出一个错误(2>nul将其发送到涅槃)
https://stackoverflow.com/questions/21439924
复制相似问题