我需要将一些目录从网络复制到我的计算机,并从复制文件夹中的文件中删除扩展名.nary
;因此文件myFile.doc.nary
将变为myFile.doc
。我有以下Windows批处理文件,但如果从c:\
运行批处理文件,则不知道如何将重命名限制为两个文件夹:
xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\
for /r %%x in (*.nary) do (
ren "%%x" *.
)
pause
如何将重命名限制为c:\
上的这两个文件夹?此外,如果文件夹已在我的机器的c:\
上,是否可以不运行副本?谢谢。
答案 0 :(得分:2)
c:\
上的这两个文件夹?只需使用for /d
循环浏览目录。
修改后的批处理文件:
@echo off
xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\
for /d %%x in (C:\MYFOLDER1 c:\MYFOLDER2) do (
ren "%%x\*.nary" *.
)
pause
c:\?
在运行xcopy
之前测试文件夹是否已存在:
修改后的批处理文件:
@echo off
if not exist C:\MYFOLDER1 echo xcopy /s \\some_server\MYFOLDER1 c:\MYFOLDER1\
if not exist C:\MYFOLDER2 echo xcopy /s \\some_server\MYFOLDER2 c:\MYFOLDER2\
for /d %%x in (C:\MYFOLDER1 c:\MYFOLDER2) do (
ren "%%x\*.nary" *.
)
pause