如何用cmd命令获取文件权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用cmd命令获取文件权限相关的知识,希望对你有一定的参考价值。

1、点击屏幕最左下角的“开始”按钮,选择“运行”命令:
2、在弹出的“运行”对话框中输入“CMD”命令,再单击“确定”按钮:
3、正常打开了DOS命令提示符窗口了。但是是“user”权限下:
4、“运行”对话框中可能不能通过“CMD”命令打开DOS弹出窗口,此时我们可以单击“开始”按钮,再选择“所有程序”,选择“附件”,再选择“命令提示符”命令:
此时同样会打开DOS窗口,但同样的受限的“user”权限下;
5、如果此时我们要以管理员方式运行,且如果是在WIN7下,则比较的容易操作。同样“附件”下,右击“命令提示符”命令,从弹出的菜单中选择“以管理员身份运行”命令:
6、win7有UAC管理机制,所以这里会弹出UAC警告框,单击“继续”即可:
之后我们可以看到,新打开的DOS窗口标题栏中会有“管理员:”字符显示,同时下面的是进入了“System32”目录:
此时你在这里输入的任何命令都将会有管理员权限了;
或者,你在普通的DOS窗口中输入命令“runas /user:administrator "cmd /k" ”按回车,并输入这个管理员帐号的密码,同样会有管理员权限:
参考技术A 装修琴咨顾忌汛的

如何用CMD提取一个文件路径的文件名?并赋值 高分送上

比如提取 c:\1.txt 这样一个路径 最后的文件名,怎么提取? 不要用什么SET提取最后5个字符什么的,如果是11.txt 那又不是提取不完整, 有人会吗?

使用DOS命令中的dir就可以生成这样的文本文件。下面介绍具体操作方法。

1.以Windows XP操作系统为例,单击“开始|运行”,输入cmd,如图1所示,然后单击“确定”。

图1 开始cmd命令

3.在命令提示符窗口中输入以下命令,如图2所示。

dir d: >c:filelist.txt

图2 用此命令生成列表文件

这样就在C:盘根目录下生成了一个名为“filelist.txt”的文本文件,该文件中即包含D:盘的文件夹列表。

如果希望将D:盘中子目录中的文件和文件夹列表也全部列出来,可以在命令提示符窗口中输入以下命令。

dir d: /s >c:filelist.txt
如果使用下面的命令,即加一个/b,则会生成一个简单的文件名列表,不包括其它信息,这种方法可能更加实用一些。
dir d: /s /b >c:filelist.txt

生成文本文件后,就可以将该文件中的内容拷贝到Excel中以备日后查询,或者将该文件作为一个对象插入到Excel工作表中。这样以后就可以快速找到所需要的文件了。
参考技术A 用dir /b 来显示单纯的文件信息。
如提取C:\下所有文件名:
dir /b c:\
提取C:\Windows子目录下所有文件名:
dir /b c:\windows
若把C:\Windows子目录中所有文件名放到一个文件(c:\ls.txt)中去,可以这样:
dir /b c:\windows >c:\ls.txt
这样,在C盘的根目录中就生成一个文本文件:ls.txt。其中是所有C:\Windows中的文件名。
试试吧。
参考技术B @echo off
:: 获取最后一个\之后的字符串
:: 利用set来抛弃\之前的所有字符
:: 该方法最具通用性,扩展之后可以获取任意层次的文件夹名——代码比上一个要长一点

set file=c:\abc\def\hij.xyz
set str=%file%

:loop
set str=%str:*\=%
echo %str% | findstr /i "\\" >nul && goto loop
echo %file% ---^> %str%
pause追问

set str=%str:*\=%
echo %str% | findstr /i "\\" >nul
这2行我看不懂, 尤其是第一行,一点一点往后剥的?

参考技术C @echo off
:top
echo 请把要提取文件名的文件拖放到此处
set /p file=
for /f "delims=" %%i in ("%file:"=%") do set filename=%%~nxi
echo 文件名为:"%filename%"
pause>nul&cls&goto top
================================================
我经过测试,可以实现一般路径,路径含有空格,文件名含有空格,和文件名含有特殊字符的处理
都可以完美提取出文件名
1,普通路径
请把要提取文件名的文件拖放到此处
D:\OTHER\Bench32.exe
文件名为:"Bench32.exe"

2,路由含有空格
请把要提取文件名的文件拖放到此处
"C:\Documents and Settings\Administrator\桌面\IMG_3985.JPG"
文件名为:"IMG_3985.JPG"

3,文件名含有空格
请把要提取文件名的文件拖放到此处
C:\Documents and Settings\Administrator\桌面\IMG 3983.JPG"
文件名为:"IMG 3983.JPG"

4,文件名含有特殊字符
请把要提取文件名的文件拖放到此处
C:\Documents and Settings\Administrator\桌面\IMG_&3984.JPG"
文件名为:"IMG_&3984.JPG"
参考技术D 我来吧,代码:
@echo off
:top
echo 请把要提取文件名的文件拖放到此处
set /p file=
for /f "delims=" %%i in ("%file:"=%") do set filename=%%~nxi
echo 文件名为:"%filename%"
pause>nul&cls&goto top
=========================================================
无论路径中是否包含空格,还是最终文件名中包含空格,还有最终文件名中包含&都可以完美提取,见如下。
测试结果:

1,普通路径无空格的:
请把要提取文件名的文件拖放到此处
D:\OTHER\Bench32.exe
文件名为:"Bench32.exe"

2,路径有空格的:
请把要提取文件名的文件拖放到此处
C:\Documents and Settings\Administrator\桌面\22.gif"
文件名为:"22.gif"

3,文件名中包含空格字符的:
请把要提取文件名的文件拖放到此处
C:\Documents and Settings\Administrator\桌面\IMG 3983.JPG"
文件名为:"IMG 3983.JPG"

4,文件名中包含&特殊字符的
请把要提取文件名的文件拖放到此处
C:\Documents and Settings\Administrator\桌面\IMG_&3984.JPG"
文件名为:"IMG_&3984.JPG"

以上四种常见情况都能完全提取。

以上是关于如何用cmd命令获取文件权限的主要内容,如果未能解决你的问题,请参考以下文章

如何用命令行解决可执行文件的权限问题

如何用命令操作修改 文件 权限 命令 Magnify.exe 和cmd.exe

如何用CMD提取一个文件路径的文件名?并赋值 高分送上

如何用CMD提取一个文件路径的文件名?并赋值 高分送上

如何用java获取一个文件的创建时间

如何用rmdir删除文件夹?