New*_*ies 6 windows cmd batch-file
我正在尝试编写批处理脚本来重命名多个文件夹.我想做类似下面的事情:通过在文件夹名称的末尾附加我的名字来重命名"Workspace"文件夹下的所有文件夹
例如,重命名:
Workspace/RiskFolder
Workspace/PNLFolder
Run Code Online (Sandbox Code Playgroud)
至:
Workspace/RiskFolder_myname
Workspace/PNLFolder_myname
Run Code Online (Sandbox Code Playgroud)
这可能吗?
小智 15
您可以使用for循环遍历每个目录并重命名,如下所示:
for /D %%f in (C:\path\to\Workspace\*) do rename "%%f" "%%~nxf_myname"
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上对此进行了测试,但它应该至少可以用于Windows XP.
这样做:对于路径中的每个目录(在括号内),将目录名称分配给变量%%f,然后将目录重命名为%%f所需格式的名称(附加您的名称).%%f保存完整的路径名,这对于rename命令的第一个参数是合适的,但对于第二个参数,我们只需要文件名+扩展名,因此~nx修饰符前置于我们的变量名.
顺便说一下,当for在命令行上使用此循环(而不是批处理文件的一部分)时,您只想使用一个%而不是%%作为变量名.例如,for %f in...而不是上面.
有关详细信息,请参阅Microsoft的以下参考资料:
| 归档时间: |
|
| 查看次数: |
52495 次 |
| 最近记录: |