我的朋友想从他已经生成的列表中取一个名字,然后从这个名字中创建一个用户名。
他是如何从列表中获得名字的,或者为了这个原因他有一个列表并不重要,因为他想知道的是,如何使用批处理获取名字的3个首字母,以及姓氏的3个首字母,并将这些字母组合起来形成用户名。
我没有任何例子可以展示,我对批处理一点经验也没有,所以我希望你们能给我一个好的答案:)
谢谢!
发布于 2013-12-03 09:21:21
这是一个执行指示任务的示例代码。
对于批处理文件中的字符串操作,请从set命令帮助(命令行中的set /?)开始读取。这里有大量关于批处理编程的每个方面的堆栈溢出信息。试试看,当发现问题时,问一问。
@echo off
call :getUserName "John" "Smith" userName
echo %userName%
call :getUserName "Jo" "Jones" userName
echo %userName%
exit /B
:getUserName Name LastName returnVariable
setlocal
rem get parameters
set "name=%~1"
set "lastName=%~2"
rem remove spaces and add some padding
set "name=%name: =%___"
set "lastName=%lastName: =%___"
rem clean and return value:
rem 3 characters from position 0 from both parameters
endlocal & set "%~3=%name:~0,3%%lastName:~0,3%"
goto :EOF发布于 2013-12-03 09:20:47
创建了一个带有要在“names.txt”中解析的名称的testfile,其中包含2行(里奇·里奇和钻石岩),然后编写了以下脚本:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims= " %%G in ( names.txt ) do (
set firsname=%%G
set lastname=%%H
set first=!firsname:~0,3!
set last=!lastname:~0,3!
echo !first!!last!
)输出为RicRic和DiaRoc。希望这能有所帮助。
https://stackoverflow.com/questions/20346809
复制相似问题