首先感谢您的帮助。我试图做的是:将基于文件名的单个目录中的多个文件移动到多个文件夹
1)我有一个包含与名称的文件夹:
122098_482056_1453458.xls
122098_482057_1453459.jpg
122098_482057_1453460.xls
122098_482056_1453457.jpg
2)我想将这些文件移动到了我与名创建的文件夹:
PO_90_122118_0_US
PO_90_122122_0_US
PO_90_122098_0_US
注意:文件夹名称的第三部分与文件名称的第一部分相匹配。
我试过下面的脚本导致了一个错误,分别没有做任何事情。
我已经使用delims=_
作为我的文件名由字符_
分隔。使用 tokens=1
以便使用文件名的第一部分。
@ECHO OFF
SETLOCAL
SET "sourcedir=D:\2009\2nd step batch - Copy"
SET "destdir=D:\2009\1st step batch"
FOR /f "delims=_" %%I IN (
'dir /b /ad "%destdir%\*" '
) DO (
FOR /f "tokens=1delims=(" %%s IN ("%%~I") DO (
IF EXIST "%sourcedir%\%%s*" ECHO(MOVE "%sourcedir%\%%s*" "%destdir%\%%I\"
)
)
GOTO :EOF
此批处理文件不输出,这意味着没有发现移动文件,我不知道为什么任何线。
批处理代码将所有122098_*
文件移动到文件夹PO_90_122118_0_US
有什么不对?
由于StackOverflow不是免费的代码编写服务,因此您需要自行尝试!当你被困住时,回到这里,分享你的代码,并精确地描述你面临的问题!阅读至少整个[旅游网页](http://stackoverflow.com/tour)并学习如何使用本网站!另请参阅以下帮助主题:[我可以在这里询问什么主题?](http://stackoverflow.com/help/on-topic)[如何提出一个好问题?](http://stackoverflow.com/help/how-to-ask)[我应该避免询问什么类型的问题?](http://stackoverflow.com/help/dont-ask) – aschipfl
我为此道歉。我试过了一段代码,但之前粘贴了错误,直到找到ctrl + k函数。我在上面的代码中包含了我的尝试。 – zlim
为什么使用'delims =('虽然文件名中没有'(')?/ F'循环的第一个(外部)没有'tokens'选项,所以它默认为'tokens = 1 ',这不是你想要的,我想...... – aschipfl