适当的文件位置

时间:2013-10-08 18:17:37

标签: batch-file cygwin batch-processing ls file-listing

我们遇到过一些问题,人们将文件放入错误的工号的文件夹中。 664585_custnum_qty_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

尝试将我在iterating through foldersfinding current directory name

中看到的其他两件事情结合起来

最终我想要列出所有不合适的文件,以便我可以找到它们并弄清楚它们为什么不是/谁把它们放在那里。所以我希望有一个程序遍历V:\work中的所有文件夹到665485332185 CustName等文件夹中,显示任何不以665485或{开头的文件分别为{1}}。

我的系统上确实有cygwin,虽然没有一直启用,并且正在考虑ls,直接引用332185以避免它抛弃某些具有相同名称的MS命令的正常功能。

有关如何获取不以foldername中的数字开头的文件列表的任何建议?

1 个答案:

答案 0 :(得分:1)

@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))

将其放在包含编号文件夹的目录中并在那里运行它。我会在几个小时后回来如果你需要我改变它。 ;)