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
Command line 创建批处理文件以复制和重命名文件_Command Line_Batch File - Fatal编程技术网

Command line 创建批处理文件以复制和重命名文件

Command line 创建批处理文件以复制和重命名文件,command-line,batch-file,Command Line,Batch File,我需要编写一个批处理文件,将文件复制到新文件夹并重命名 目前,我的批处理文件仅包含以下命令: COPY ABC.PDF \\Documents 如您所见,它只将文件ABC.pdf复制到网络文件夹文档 但是,我需要更改它,以便它重命名文件ABCxxx.pdf,其中xxx是一个文本变量,我希望在批处理文件中的某个位置设置该变量 例如,如果xxx=\u Draft,则文件复制后将重命名为ABC\u Draft.pdf。制作一个bat文件,其中包含以下内容: copy /y C:\temp\log1k

我需要编写一个批处理文件,将文件复制到新文件夹并重命名

目前,我的批处理文件仅包含以下命令:

COPY ABC.PDF \\Documents
如您所见,它只将文件
ABC.pdf
复制到网络文件夹
文档

但是,我需要更改它,以便它重命名文件
ABCxxx.pdf
,其中
xxx
是一个文本变量,我希望在批处理文件中的某个位置设置该变量


例如,如果
xxx
=
\u Draft
,则文件复制后将重命名为
ABC\u Draft.pdf

制作一个bat文件,其中包含以下内容:

copy /y C:\temp\log1k.txt C:\temp\log1k_copied.txt
但是,如果目录名中有空格,我认为会有问题。注意,它被复制到了同一个目录,但这并不重要。如果要查看其运行方式,请创建另一个bat文件,该文件调用第一个bat文件并输出到日志:

C:\temp\test.bat > C:\temp\test.log

(假设第一个bat文件名为test.bat,并且位于该目录中)

谢谢如果我想用相同的文本后缀复制并重命名该文件夹中的所有PDF,我该怎么做?例如,如果我有两个PDF ABC.PDF和ZYZ.PDF,我想将它们复制并重命名到我的“Documents”文件夹中,分别为ABCxxx.PDF和ZYZxxx.PDF,其中“xxx”是同一个文本变量,我该怎么做呢?如果使用copy/y C:\temp*.PDF C:\tempcy*copy.PDF,尽管方向正确,但你不会得到你想要的东西。从ABC.PDF和DRE.PDF这样的文件开始,我在名为ABCopied.PDF和DRE.PDFCopied.PDF的文件夹中找到了副本。我不擅长正则表达式,但我认为这样的东西正是你所需要的。@Konstantin-但它永远不会被接受为答案,因为问这个问题的人已经5年多没有回来了。我可以用包含空格的目录名周围的引号来证实这一点。能否
复制ABC.*.PDF\\Documents
来做这个把戏?请您回答并添加一个简短的解释,说明它的作用和工作原理?非常感谢。
type C:\temp\test.bat>C:\temp\test.log