Batch file %Computername%最多可指定用于命名文件的特定字符
所以我们正在为我的工作运行一个备份脚本,直到现在他们才让脚本提取计算机名并将其用作创建的文件夹。我们遇到的问题是,当我们转到然后使用恢复脚本时,它将变得无用 例如,我们的计算机名是Smith#Year-A 但是我希望批处理脚本不要使用全名,因为在我们更改计算机年份时经常使用全名。因为有时候名字后面有数字,长度也不尽相同,所以我掌握的大部分关于起点和终点的知识都是无用的Batch file %Computername%最多可指定用于命名文件的特定字符,batch-file,string-split,Batch File,String Split,所以我们正在为我的工作运行一个备份脚本,直到现在他们才让脚本提取计算机名并将其用作创建的文件夹。我们遇到的问题是,当我们转到然后使用恢复脚本时,它将变得无用 例如,我们的计算机名是Smith#Year-A 但是我希望批处理脚本不要使用全名,因为在我们更改计算机年份时经常使用全名。因为有时候名字后面有数字,长度也不尽相同,所以我掌握的大部分关于起点和终点的知识都是无用的 有没有办法让批处理使用%COMPUTERNAME%函数创建一个文件夹,告诉它停在“-”处,这样我们得到的只是人员的姓名和号码?要
有没有办法让批处理使用%COMPUTERNAME%函数创建一个文件夹,告诉它停在“-”处,这样我们得到的只是人员的姓名和号码?要在某个字符处拆分字符串,请使用
for/F
:
for /F "tokens=1 delims=- eol=-" %L in ("%COMPUTERNAME%") do (set SHORTNAME=%L)
此命令行将(第一个)-
前面的字符串部分存储到变量SHORTNAME
中
有关详细信息,请在控制台窗口中键入/?
要在批处理脚本中使用上述行,请将
%L
替换为%L查看for/F“delims=-eol=-%L in(“%COMPUTERNAME%”)do(echo%L)
(有关详细信息,请参见获取/?
);在批处理文件中使用此行时,请将%L
替换为%L
…谢谢!看起来应该有用!