这是我用来为新客户端创建文件夹的批处理脚本:
@ECHO OFF
SET /p clientLast=Enter Client's Last Name:
SET /p clientFirst=Enter Client's First Name:
ECHO Making Folders...
MKDIR "%clientLast%, %clientFirst%"
MKDIR "%clientLast%, %clientFirst%"\Budget
MKDIR "%clientLast%, %clientFirst%"\"Business Registration"
MKDIR "%clientLast%, %clientFirst%"\Correspondence
MKDIR "%clientLast%, %clientFirst%"\"Financial Info"
MKDIR "%clientLast%, %clientFirst%"\Forms
MKDIR "%clientLast%, %clientFirst%"\Illustrations
MKDIR "%clientLast%, %clientFirst%"\"Loans & Investments"
MKDIR "%clientLast%, %clientFirst%"\"Personal Info"
MKDIR "%clientLast%, %clientFirst%"\Recommendations
MKDIR "%clientLast%, %clientFirst%"\"Tax Misc"
TREE "%clientLast%, %clientFirst%"
ECHO DONE~~~~~~~~~~~~~~~
PAUSE
我希望能够添加自动将每个单词的第一个字母大写的功能。
我找到了一种方法,将每个字母前面的空格替换为大写字母,如下所示:
FOR %%i IN ("a=A" " b= B" " c= C" " d= D" " e= E" " f= F" " g= G" " h= H" " i= I" " j= J" " k= K" " l= L" " m= M" " n= N" " o= O" " p= P" " q= Q" " r= R" " s= S" " t= T" " u= U" " v= V" " w= W" " x= X" " y= Y" " z= Z") DO CALL SET "%1=%%%1:%%~i%%"
但这并没有将第一个单词大写......
有任何想法吗?
或者用纯批次...
@echo off
setlocal EnableDelayedExpansion
call :FirstUp result hello
echo !result!
call :FirstUp result abc
echo !result!
call :FirstUp result zynx
echo !result!
goto :eof
:FirstUp
setlocal EnableDelayedExpansion
set "temp=%~2"
set "helper=##AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ"
set "first=!helper:*%temp:~0,1%=!"
set "first=!first:~0,1!"
if "!first!"=="#" set "first=!temp:~0,1!"
set "temp=!first!!temp:~1!"
(
endlocal
set "result=%temp%"
goto :eof
)
函数 :FirstUp 使用使用 %var:*x=% 语法在辅助字符串中搜索第一个字符的技巧。
这会删除第一次出现之前的所有字符(因此我将所有字符加倍)
因此,首先您得到单词“vox”、“VWWXXYYZZ”,然后我只需采用 %first% 的第一个字符来获取大写字母,并在第一个字符之后附加原始字符串的其余部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)