The evil Windows -- cmd, xcopy, exclude list

Tonight I face a very strange problem, when trying to copy the project binary file tree to my Linux system for testing, some part of the directory is missing. I check the batch file which handle the copy task, found out I use the 'xcopy' command, with a exclude list. I have examining the exclude.txt file quite of careful, but can't find any problems. Finally, I notice that the missing directory, name 'tools', underneath has two text files, those are 'MakeInc.bat' and 'make_inc.sh', and I delete the excluding item one by one, and notice the changes, finally I found out that under the exclude.txt file, there is a item name 'inc' really take the effect, so I understand what is going on. 'inc' in fact is a folder name, that I really want to skip copying, but this seach condition also match the file named with 'make_inc.sh' and 'MakeInc.bat', so when xcopy meet those files, and skip copy, also skip the upper folder that contain these(and only these) two items. If we want to use xcopy with a exclude list, the folder or file names has the same search key word would be skipped, that's a really tragic.

But fortunately, there is a solution, when escaping directories or folders, try use the word '\inc\' but not the word 'inc', notice there are two back slash being added, this will guarantee the searching app always match the key word with directories names but not the file names, it's good!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章