[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助:自动获取目录名称并引用到批处理中

本帖最后由 主人不在 于 2021-5-12 15:29 编辑

需要对一个文件夹做NTFS权限设置:icacls DOCS-T /grant 当前文件夹名称_设总OI)(CI)(F) /T;


“当前文件夹名称_设总”为安全组名称,这个安全组在AD里面已经由项目管理器创建好了,需要赋权的这个“DOCS-T”文件夹为后期增加,需要对每个项目都操作一次,目前做的批处理需要手动修改这个当前文件夹的名称到批处理中来,请大神帮忙看下这个位置使用啥子参数能自动获取文件夹名称并使用到这个命令中来,谢谢


文件夹路径为(例):E:\2021\0001\DOCS-T,


批处理样式:即批处理中的0001如何自动读取并使用。


@echo off


echo.*****在相应的文件夹下双击执行*****


echo.*****创建需要的文件夹*****
md DOCS-T
pause


echo.*****修改需要添加的权限组*****
icacls DOCS-T /grant 0001_设总":(OI)(CI)(F) /T


pause


icacls DOCS-T /grant 0001_项目组":(OI)(CI)(RX,W,WO) /T


pause

帖子标题太笼统。请按这种规则发帖。
http://www.bathome.net/thread-963-1-1.html

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /a:d /b *') do (
  3.     pushd "%%a"
  4.         (
  5.         if not exist DOCS-T MD "DOCS-T"
  6.         icacls DOCS-T /grant 0001_设总":(OI)(CI)(F) /T
  7.         icacls DOCS-T /grant 0001_项目组":(OI)(CI)(RX,W,WO) /T
  8.         )
  9.     popd
  10. )
  11. pause
复制代码
没有过这个功能,0001_设总和0001_项目组,你有这两个用户组?

TOP

本帖最后由 主人不在 于 2021-5-12 17:45 编辑

回复 3# xp3000


    对应的项目组已经由相关的系统在AD里面创建好了,这个不需要考虑,目前是不修改系统代码,又需要在这一层级里面在新建一个文件夹,并对这个文件夹赋权,手动创建也没有问题,但是麻烦,所以就想使用批处理来修改,目前使用的是手动修改相应的组名称,命令是可以完成的,这个组名称是有规则的,上一级的文件夹名称_***组成,就是想在这个位置如何读取到上一级文件夹名称并应该到相应的命令上使这个批处理成立,但是0001这个是个变量,在不同的文件夹下,自动读取相应的名称。

TOP

对DOCS-T的上级文件夹处理在pushd "%%a"上面加命令操作指定到文件夹%%a

TOP

本帖最后由 qixiaobin0715 于 2021-5-13 06:35 编辑

回复 4# 主人不在
批处理所在的文件夹为当前文件夹,要获得当前文件夹名:
  1. for %%i in ("%~dp0.") do set folder=%%~ni
复制代码
如果要取得上一级文件夹名,括号内dp0.修改为dp0..
如果批处理代码中指定了路径,相应的修改括号中的路径。
1

评分人数

TOP

返回列表