Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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_Directory - Fatal编程技术网

File 使用批处理文件根据名称和课程代码将文件移动到文件夹

File 使用批处理文件根据名称和课程代码将文件移动到文件夹,file,batch-file,directory,File,Batch File,Directory,我一直在寻找一种解决方案,并找到了类似的解决方案,但它们要么是使用固定长度的文件名,要么被用于对文件夹中的文件进行排序,而不是移动它们 我试图做的是,当一名工作人员在S驱动器中放置一个名为: Bloggs Joe AHC20410 Student Forms.pdf 批处理文件(在一天中的特定时间运行)将文件移动到H驱动器中的文件夹中: H:\Student Records Current\Bloggs Joe AHC20410 例如,当批处理文件运行时,S驱动器可能是这样的: Bloggs

我一直在寻找一种解决方案,并找到了类似的解决方案,但它们要么是使用固定长度的文件名,要么被用于对文件夹中的文件进行排序,而不是移动它们

我试图做的是,当一名工作人员在S驱动器中放置一个名为:

Bloggs Joe AHC20410 Student Forms.pdf
批处理文件(在一天中的特定时间运行)将文件移动到H驱动器中的文件夹中:

H:\Student Records Current\Bloggs Joe AHC20410
例如,当批处理文件运行时,S驱动器可能是这样的:

Bloggs Joe AHC20410 Student Forms.pdf
Bloggs Joe AHC20410 Evidence.jpg
Doe Jane AHC31010 Workbook.doc
Doe Joe AHC20410 Images.png
任何帮助都将不胜感激

@ECHO关闭
SETLOCAL
设置“sourcedir=U:\sourcedir”
设置“destdir=U:\destdir”
对于/f“delims=”%%d IN(
'dir/b/ad”%destdir%\*ahc*“2^>nul^ findstr/i/r/c:“ahc[0-9][0-9][0-9][0-9][0-9][0-9]”
)做(
对于/f“delims=”%%a IN(
“dir/b/a-d”%sourcedir%\%%d*“2^>num^ findstr/i/r/c:“AHC[0-9][0-9][0-9][0-9][0-9][0-9]”
)做(
回显(移动“%sourcedir%\%%a”“%destdir%\%%d\”
)
)
后藤:EOF
您需要更改
sourcedir
destdir
的设置以适应您的环境

所需的移动命令仅用于测试。
ECHO
在验证命令正确后,更改
ECHO(MOVE
MOVE
以实际移动文件。追加
>nul
以抑制报告消息(例如
1个文件已移动

假设目标目录已经存在

基本上,查找包含
ahc
的所有目录名,然后过滤
ahc,然后再过滤5个数字,以获得良好的度量。将这些字符串分配给
%%d

然后,对于找到的每个
%%d
,查找以
%%d
开头并包含字符串
ahc,后跟5个数字,前面和后面都有空格的源文件


将名称组合在一起并显示结果…

请参见
move/?
。将路径用空格括起来。键入
help
以获取命令列表。请参见命令提示符下的一些约定。非常感谢@Magoo花时间编写代码,我的批处理文件技能已经相当生疏。当de找到了源和目标,但没有复制…但最终发现丢失了一个“)”。工作非常完美!