在这里查看解决方案似乎无法找到正在寻找或能够完全了解我如何修改现有脚本的内容。我有一个Windows文件服务器。我有文件存储在目录结构,年,月,周01/02等。文件名的格式为0053910001.1.D799D。第一部分是客户端标识符,可能有很多具有相同标识符的文件,如0053910001.2.D444D,0053910001.3.D584D等。我需要一个bat文件脚本,它将通过该目录创建一个单独的目录,名为客户端标识符0053910001和然后将具有该标识符的所有文件复制到该目录中。
感谢。
保罗,
答案 0 :(得分:0)
我需要更多信息...... 是目录结构,如“2014,11,01 \ 0053910001.1.D799D”之类的东西 “2014 \ 11 \ 01 \ 0053910001.1.D799D”?
是指“D799D”的延伸?
客户端标识符是否总是包含10位/字母?
你知道是否有重复的文件名需要注意吗?
应该在哪里创建目标文件夹?
亲切的问候
编辑:
直接在云端硬盘H:
中将其保存到文件(例如“Cleanup.cmd”)@ECHO OFF
IF NOT EXIST "Clients" MD "Clients"
FOR /F "TOKENS=1* DELIMS=." %%A IN ('DIR 2014\* /s /b /a:-d') DO (
IF NOT EXIST "Clients\%%~nA" MD "Clients\%%~nA"
MOVE "%%~A.%%~B" "Clients\%%~nA"
)
描述:
FOR / F“TOKENS = 1 * DELIMS =。” %% A IN('DIR 2014 * / s / b / a:-d')DO(
将搜索目录“2014”和所有子目录
中的所有文件如果不存在“%% ~nA”MD“%% ~nA”
将根据文件名(没有扩展名)创建一个文件夹,因此该文件夹将在根目录H中为“053920001”:
移动“%% ~A。%% ~B”“%% ~dA \ %% ~nA”
将移动上面创建的目录中的文件。
进行测试时,您可以将“move”替换为“copy”,以便所有源文件都保留在其位置。
编辑以满足在子目录“clients”中放置文件和文件夹的需要