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

[其他] 批处理怎样求得用户名?

俺是新手,做了一个批处理,目的是清理用户的临时文件。
如:

ECHO "删除系统临时文件----------------------------------------------"
IF EXIST C:\Docume~1\用户名\LocalS~1\temp\*.* del C:\Docume~1\pw0417\LocalS~1\Temp\*.* /S /Q /f /a

我登陆的用户名是:pw0417,就可以写成

IF EXIST C:\Docume~1\pw0417\LocalS~1\temp\*.* del C:\Docume~1\pw0417\LocalS~1\Temp\*.* /S /Q /f /a

但现在我想在任意机器上不通过修改批处理文件中的用户名自动清理该用户名下的临时文件,如何进行。
请指教! 急呀!

C:\Docume~1\pw0417可以用%userprofile%代替,不过地址上要加上“”号

如IF EXIST C:\Docume~1\pw0417\LocalS~1\temp\*.* del
可以写成IF EXIST “%userprofile%\Local Settings\temp\*.*” del

TOP

我试一下。

TOP

好使,谢了。非常感谢!!!!!!

TOP

再问个弱弱的问题?

@echo off
del C:\Docume~1\pw0417\LocalS~1

执行后,在下面显示了一堆提示信息:

C:\Docume~1\pw0417\LocalS~1\Temp\~DFDDB4.tmp
拒绝访问。
C:\Docume~1\pw0417\LocalS~1\Temp\~DFE1A3.tmp
另一个程序正在使用此文件,进程无法访问。
C:\Docume~1\pw0417\LocalS~1\temp\~DFDDB4.tmp - 拒绝访问。
C:\Docume~1\pw0417\LocalS~1\temp\~DFE1A3.tmp - 另一个程序正在使用此文件,进程无

如何能让这些信息不显示?

TOP

del C:\Docume~1\pw0417\LocalS~1>nul 2>nul

TOP

我试一下. 后面的2>NUL 是什么意思?


还有,我执行
IF EXIST %userprofile%\LocalS~1\temp\*.* del %userprofile%\LocalS~1\Temp\*.*

提示 'END'不是内部或外部命令,是不是因为长文件名的问题呀,怎么处理?

TOP

不会的 ~ 就直接写这一句 别的什么都不要写~ 就OK了~

TOP

整明白了,是长文件名的问题.

TOP

2>nul 就是不显示错误信息。

TOP

返回列表