у меня есть код ниже, который открывает cmd и создает несколько разреженных файлов, используя ввод пользователя, чтобы заполнить некоторые пробелы. мне кажется, что я не могу сделать так, чтобы в коде была строка с именем C:\users\user name\desktop..что я хочу, чтобы можно было легко вставить этот C:\users\user имя \ рабочий стол ", тогда попросите пользователя заполнить раздел" имя пользователя ", есть идеи, как мне это сделать? Я попытался ввести эхо, а затем использовать команду стрелка вверх, чтобы скопировать строку, но это не сработало, так что надеюсь, что вы, ребята, есть что-то проще, спасибо

 @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

2 ответа2

0

Разве это не сработает?

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

Если я не понимаю ваш вопрос.

0

Я хочу, чтобы можно было легко вставить этот «C:\users\user name\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"

Пожалуйста, прочитайте переменные окружения, чтобы увидеть, какие другие полезные переменные уже установлены для вас.


Всё ещё ищете ответ? Посмотрите другие вопросы с метками .