Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
File 在批处理脚本中复制文件时更改文件名_File_Batch File - Fatal编程技术网

File 在批处理脚本中复制文件时更改文件名

File 在批处理脚本中复制文件时更改文件名,file,batch-file,File,Batch File,我想将文件从当前文件夹复制到另一个位置,如(当前文件夹)文件名(F0#CGDBANG000947532#)到另一个位置,如(\10.10.10.1\BasketsIn),文件名中的用户名(F0#CGDBANG000947532#logesh)在F0#CGDBANG000947532#复制到F0#CGDBANG000947532#用户名 谢谢简单: copy "c:\A" "d:\%username%_A" 编辑 最后,在你在这里和其他问题上的一些评论之后,我理解了你的要求(我想) 如果您的文件

我想将文件从当前文件夹复制到另一个位置,如(当前文件夹)文件名(F0#CGDBANG000947532#)到另一个位置,如(\10.10.10.1\BasketsIn),文件名中的用户名(F0#CGDBANG000947532#logesh)在F0#CGDBANG000947532#复制到F0#CGDBANG000947532#用户名

谢谢

简单:

copy "c:\A" "d:\%username%_A"
编辑 最后,在你在这里和其他问题上的一些评论之后,我理解了你的要求(我想)


如果您的文件名没有扩展名,或者您希望将用户名附加在名称的末尾(即,即使在扩展名之后),则可以使用以下简单命令:

COPY * \10.10.10.1\BasketsIn\*%USERNAME%
其中,
USERNAME
是解析为当前用户用户名的系统环境变量

但是,如果您的名称具有扩展名,并且希望将用户名附加在文件名之后但在文件扩展名之前,则可以使用
掩码字符,如下所示:

COPY * \10.10.10.1\BasketsIn\???????????????????????????????%USERNAME%.*
只需确保您提供了足够的
s,以覆盖您案例中可能最长的名称。如果您感兴趣,您可以通过以下方式在这个优秀、深入的答案中了解更多有关此方法的信息:


还有一点需要注意的是:对于具有“多个”扩展名的文件名,例如
some.txt.doc

,此方法可能无法像预期的那样工作。能否提供更多详细信息?你只是想复制一个文件吗?还是一整套文件?你的问题不清楚!我想将当前文件夹中的文件复制到另一个位置,如(当前文件夹)文件名(F0#CGDBANG000947532#)到另一个位置,如(\\10.10.10.1\BasketsIn),文件名中的用户名为(F0#CGDBANG000947532#logesh)在F0#CGDBANG000947532#copy to F0#CGDBANG000947532#username thanki要将当前文件夹中的文件复制到另一个位置,如(当前文件夹)文件名,如(F0#CGDBANG000947532#)复制到另一个位置,如(\\10.10.10.1\BasketsIn),用户名如(F0#CGDBANG000947532#logesh)最后F0#CGDBANG000947532#复制到F0#CGDBANG000947532#用户名谢谢@Stephan@Logesh:在您的问题中,您说的是“我想更改选定的文件名…”–现在您想重命名多个文件。请编辑您的问题以明确您的具体问题。刚刚注意到您的更新。您能解释一下为什么使用
%*
?我的意思是,OP并不是在命令行中指定文件名。还是我遗漏了什么?@AndriyM:从他对另一个(非常类似的)问题()的评论中,我猜他想在windows资源管理器中选择一个文件,并用“发送到”来处理它。因此,
%1
将是结果<代码>%*将允许选择多个文件并分别进行处理。我想,这就是他想做的。当然,这只是猜测,因为他的两个问题都很不清楚。他的评论也是如此。正如你提到的,我有带扩展名的文件名,我希望用户名附加在文件名之后,但在文件扩展名之前。但即使我加了足够的??,它也没有全名。当我为(F0#CGDBANG000947532#eps)执行此操作时,我记录的是没有第一个字母(F)的(0#CGDBANG000947532#logesh.eps)。请让我知道我哪里出错了…?真奇怪。我的帖子中的确切命令(除了目标路径)对我来说效果非常好,我用像您这样的文件名尝试了它——没有丢失字符,新名称与添加的用户名相同。我尝试将第一个掩码
*
更改为
F*
——认为如果明确指定了第一个字母,可能会发生一些奇怪的事情,但没有,再次没有任何问题。我很困惑,但我确实怀疑复制后可能发生了什么事情,或者您错误地复制了名称中没有第一个F的文件?非常感谢,效果很好。在同样的情况下,我需要更多的帮助,比如黑白文件应该转到黑白文件夹,彩色文件应该复制到彩色文件夹。根据文件名,我们可以区分B/W和颜色,因为文件名的第四个字符将根据文件名显示为C或B。比如(F0#CG或F0#BG)F0#CGDBANG000947532#和F0#BGDBANG000947532#。。。非常感谢,但是现在这是一个不同的问题。如果你为它创建一个新的问题会更好。那会增加你得到好建议的机会。当我有时间的时候,我很乐意看一看。当然我会把它贴出来。。。非常感谢你的帮助。。我想从一开始就学习批处理脚本,我在哪里可以学习你能提出任何建议。。?
COPY * \10.10.10.1\BasketsIn\???????????????????????????????%USERNAME%.*