我有以下代码,它打开 cmd 并使用用户输入来填充一些空白,从而创建一些稀疏文件。我似乎无法做到的是能够在代码中添加一行,比如 C:\users\user name\desktop。我想要的是能够轻松插入此“C:\users\user name\desktop”,然后让用户填写“用户名”部分,关于如何做到这一点,您有什么想法吗?我尝试输入 echo,然后使用向上箭头命令将该行复制下来,但不起作用,所以希望你们有更简单的方法,谢谢
@echo off
:start
COLOR 9B
TITLE Batch File Creation
echo ************************
echo * SPARSE FILE CREATION *
echo ************************
echo Standard File Sizes:
echo - 5mb = 5000000 bytes
echo - 10mb = 10000000 bytes
echo - 15mb = 15000000 bytes
echo - 20mb = 20000000 bytes
echo - File types can be any e.g. (xls, xlsx, jpg, png, doc, etc)
echo ************************
echo.
echo.
echo.
echo desktop path location is "c:\users\*your user name*\Desktop"
set /p _path=Enter the file Path :
set /p fname=Enter the Filename (e.g. test.xls) :
set /p fsize=Enter the filesize (in Mb) :
set /a sizeinbytes=fsize*1000*1000
fsutil file createnew %_path%\%fname% %sizeinbytes%
fsutil sparse setflag %_path%\%fname%
fsutil sparse setflag %_path%\%fname% 0 %sizeinbytes%
echo %fname% File Created!!
set /p _new=Would you like to create another file? [y]es, [n]o:
If /i "%_new%"== "y" GOTO :start Else end
end
答案1
我想要的是能够轻松插入这个“C:\users\用户名\desktop”
然后让用户填写“用户名”部分,关于如何做到这一点有什么想法
你根本不需要这么做。用户配置文件已经在USERPROFILE
环境变量中可供你使用了:
> echo %userprofile%
C:\Users\DavidPostill
这是配置文件路径,它已经包含当前用户的用户名。
因此,在您的批处理文件中,替换
echo desktop path location is "c:\users\*your user name*\Desktop"
和:
echo desktop path location is "c:\users\%userprofile%\Desktop"
请阅读环境变量看看还有哪些有用的变量已经为您设置。
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 环境变量- 环境变量主要用于批处理文件中,可以使用 SET 命令为会话创建、修改和删除环境变量。
答案2
这不管用吗?
set /p id="Enter Username: "
set location="C:\users\%id%\Desktop"
echo %location%
除非我误解了你的问题。