2012-05-23 18 views
0

我连接到网络驱动器的连接速度非常慢(在好日子时为15 kb/s)。我正在删除大多数文件,但不想破解包含包含语句的几个文件。这些是企业应用程序的文件(主要用ColdFusion编写)。我的想法是在所有文件名前添加一个'_'作为测试我想保留的几个文件是否搞砸。我已经搜索了我想要包含的文件的代码,这只是在推送之前进行测试。重命名文件夹中的文件以测试依赖关系

是否有脚本我可以运行,将重命名所有文件和文件夹,但排除2个文件夹和其中的文件?如果有更好的方式,我可以选择。

所以我通常会删除所有我认为不需要的文件,但是由于网络速度很糟糕,需要很长时间。由于这是测试,如果我犯了一个错误,可能会有很多删除和取消删除,这就是为什么我只想重命名。

回答

0

我建议附加._的扩展名,而不是在_前加上名称。这将更容易撤消重命名。

@echo off 
setlocal 
set root="X:\" 
set skip1="X:\folder1\" 
set skip2="X:\folder2\" 
for /r %root% %%F in (*) do (
    if /i "%%~dpF" neq %skip1% if /i "%%~dpF" neq %skip2% ren "%%F" "%%~nxF._" 
) 

要恢复到原来的名称:

@echo off 
setlocal 
set root="X:\" 
for /r %root% %%F in (*._) do ren "%%F" "%%~nF" 


编辑:
第一个脚本重命名这些文件可以通过重命名的所有目录中的文件与单个进行得更快REN命令。

@echo off 
setlocal 
set root="X:\" 
set skip1="X:\folder1\" 
set skip2="X:\folder2\" 
for /r %root% %%F in (.) do (
    if /i "%%~fF" neq %skip1% if /i "%%~fF" neq %skip2% ren "%%~F\*.*" *.*._ 
) 

恢复名称的第二个脚本必须继续单独重命名每个文件。

我还将SETLOCAL添加到所有脚本。

1

如果是网络驱动器,您可能没有执行脚本的权限。