Batch file 正确的文件位置

Batch file 正确的文件位置,batch-file,cygwin,batch-processing,ls,file-listing,Batch File,Cygwin,Batch Processing,Ls,File Listing,我们遇到了一些问题,人们将文件放入了错误的工号文件夹。664585\u custnum\u qty\u filetype.dat的文件应位于文件夹664585我正在寻找一种方法来确保给定文件夹中的文件都以foldername开头。我一直在和你一起工作 @ECHO OFF FOR /R "V:\Work" %%G in (.) DO ( Pushd %%G REM Echo now in %%G for %%a in (.) do set currentfolder=%%~na ec

我们遇到了一些问题,人们将文件放入了错误的工号文件夹。
664585\u custnum\u qty\u filetype.dat
的文件应位于文件夹
664585
我正在寻找一种方法来确保给定文件夹中的文件都以foldername开头。我一直在和你一起工作

@ECHO OFF
FOR /R "V:\Work" %%G in (.) DO (
 Pushd %%G
 REM Echo now in %%G
 for %%a in (.) do set currentfolder=%%~na
    echo %currentfolder%
    REM this is where I would be finding files that dont start the right way.
 Popd )
 Echo "back home"
Pause
试着把我已经看了很久的另外两件事结合起来

最后,我想列出所有不合适的文件,这样我就可以找到它们,并找出它们不在/是谁放在那里的原因。因此,我希望有一个程序,可以遍历
V:\work
中的所有文件夹,进入
665485
332185 CustName
这样的文件夹,分别显示不以
665485
332185
开头的任何文件

我的系统上确实有cygwin,虽然没有一直启用,但我正在考虑ls,直接引用
C:\cygwin\bin\ls.exe
,以避免它破坏某些同名MS命令的正常功能

关于如何获取不以foldername中的数字开头的文件列表,有什么建议吗

@echo off
for /d %%i in (*) do (if "%%i" NEQ "xArchive" (for /f %%j in ("%%i") do (dir "%%i" /b|for /f %%k in ('find "%%j" /v') do @dir "%%k" /b /s|find "thumbs.db" /v /i|find "xArchive" /v /i))
将它放在包含编号文件夹的目录中,并在那里运行它。如果你需要我帮你换的话,我几小时后回来


将它放在包含编号文件夹的目录中,并在那里运行它。如果你需要我帮你换的话,我几小时后回来

这是一种魅力。我得到了一些不同的“未找到文件”错误,但它也准确地说出了我所需要的。我做的一个小改动是,因为我试图在自动化的基础上运行它,我将输出定向到一个文件
zzz.txt
(这也有一个附带的好处,即删除“未找到文件”,因为它是错误文本),然后将该文件作为附件发送给我自己。我的愿望列表上唯一的附加内容是“忽略”选项,因为现在它还报告了几个Thumbs.db类型的文件,可以忽略这些文件。这很简单,但这将是很好的。再次完美!忽略一个名为xArchive的文件夹?我的最后一个请求是解释它所遍历的内容。我可以看到它正在检查xArchive并查看它在哪里过滤掉任何Thumbs.db,但现在中间是一个神奇的球体:)for/d使通配符匹配dirs,for/f。。。获取名称中的第一组字符,并忽略第一个空格后的所有内容。然后,dir是在第一个循环中找到的dir,它将该dir传递到find for循环,find for循环处理输出,并对其执行递归dir,该循环输出文件的所有引用(在本例中只有一个)以及完整路径。很抱歉说的很混乱,我只有13岁,没有太多的教学经验。这很有魅力。我得到了一些不同的“未找到文件”错误,但它也准确地说出了我所需要的。我做的一个小改动是,因为我试图在自动化的基础上运行它,我将输出定向到一个文件
zzz.txt
(这也有一个附带的好处,即删除“未找到文件”,因为它是错误文本),然后将该文件作为附件发送给我自己。我的愿望列表上唯一的附加内容是“忽略”选项,因为现在它还报告了几个Thumbs.db类型的文件,可以忽略这些文件。这很简单,但这将是很好的。再次完美!忽略一个名为xArchive的文件夹?我的最后一个请求是解释它所遍历的内容。我可以看到它正在检查xArchive并查看它在哪里过滤掉任何Thumbs.db,但现在中间是一个神奇的球体:)for/d使通配符匹配dirs,for/f。。。获取名称中的第一组字符,并忽略第一个空格后的所有内容。然后,dir是在第一个循环中找到的dir,它将该dir传递到find for循环,find for循环处理输出,并对其执行递归dir,该循环输出文件的所有引用(在本例中只有一个)以及完整路径。很抱歉说的很混乱,我只有13岁,没有多少教学经验。