Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file %Computername%最多可指定用于命名文件的特定字符_Batch File_String Split - Fatal编程技术网

Batch file %Computername%最多可指定用于命名文件的特定字符

Batch file %Computername%最多可指定用于命名文件的特定字符,batch-file,string-split,Batch File,String Split,所以我们正在为我的工作运行一个备份脚本,直到现在他们才让脚本提取计算机名并将其用作创建的文件夹。我们遇到的问题是,当我们转到然后使用恢复脚本时,它将变得无用 例如,我们的计算机名是Smith#Year-A 但是我希望批处理脚本不要使用全名,因为在我们更改计算机年份时经常使用全名。因为有时候名字后面有数字,长度也不尽相同,所以我掌握的大部分关于起点和终点的知识都是无用的 有没有办法让批处理使用%COMPUTERNAME%函数创建一个文件夹,告诉它停在“-”处,这样我们得到的只是人员的姓名和号码?要

所以我们正在为我的工作运行一个备份脚本,直到现在他们才让脚本提取计算机名并将其用作创建的文件夹。我们遇到的问题是,当我们转到然后使用恢复脚本时,它将变得无用

例如,我们的计算机名是Smith#Year-A

但是我希望批处理脚本不要使用全名,因为在我们更改计算机年份时经常使用全名。因为有时候名字后面有数字,长度也不尽相同,所以我掌握的大部分关于起点和终点的知识都是无用的


有没有办法让批处理使用%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
…谢谢!看起来应该有用!