Fsutil:批处理文件中如何有一行用户可以通过向上箭头粘贴到 cmd 行?

Fsutil:批处理文件中如何有一行用户可以通过向上箭头粘贴到 cmd 行?

我有以下代码,它打开 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"

请阅读环境变量看看还有哪些有用的变量已经为您设置。


答案2

这不管用吗?

set /p id="Enter Username: "
set location="C:\users\%id%\Desktop"
echo %location%

除非我误解了你的问题。

相关内容