我想比较两个目录之间的文件名(减去扩展名),如果匹配,请将文件从两个目录之一复制(或移动[tbd])到第三个目录。即
Dir_A具有a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg
Dir_B具有a.pdf,c.pdf,d.pdf,f.pdf
结果将是
Dir_C获取a.jpg,c.jpg,d.jpg,f.jpg
我已经可以使用批处理文件来完成此操作,但是想学习如何通过AHK。基本上,只是因为我可以。 :)
批处理文件为:
def letstry(n):
df[str(n-5)+ '-' +str(n)] = df[n] - df[n-5]
growth = df[str(n-5)+ '-' +str(n)].sum()
df[str(n-5)+ '-' +str(n)+ 'ratio'] = df[str(n-5)+ '-' +str(n)]/growth
realg = df2.at['real increase', n]
df['New' + str(n)] = df[n-5] + realg*df[str(n-5)+ '-' +str(n)+ 'ratio']
return df
for i in range(2010, 2050, 50):
letstry(i)
经过大量查找,找到了相似帖子并尝试进行插值后,我认为我已经接近了,但显然缺少一些东西。我希望有人能为我阐明这一点。
@Echo Off & SetLocal EnableExtensions
pushd D:\temp
For /F "tokens=*" %%I IN ('dir /a-d /b *.jpg') DO (
IF EXIST "D:\temp\comp\%%~nI.pdf" move "%%~I" "D:\temp\new\"
)
在尝试工作时,注释和转义序列是我自己的福祉,请学习并弄清楚。 :)非常感谢。
答案 0 :(得分:1)
您可以使用SplitPath将jpg文件名(不含路径,点和扩展名)存储在变量(name_no_ext)中,并使用{{在其他目录中检查是否存在同名pdf文件3}}:
SFolder:="D:\temp\" ;Source folder
CFolder:="D:\temp\comp" ;Compare folder
DestDir:="D:\temp\new" ;where to move files
Loop Files, %SFolder%*.jpg ;look for all jpg files
{
SplitPath, A_LoopFileName,,,, name_no_ext
If FileExist(CFolder . "\" . name_no_ext . .pdf)
FileMove, %A_LoopFileFullPath%, %DestDir% ;move the file.jpg to the "new" directory
}