web-dev-qa-db-ja.com

'fsutil'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません

こんにちは、バッチファイルに問題があります。 fsutilを実行し、サイズ、名前、場所のユーザーエントリを取得し、それをcmdに渡してファイルを作成しようとしています...このサイトにあったコードをコピーしましたが、何が問題なのか理解できません。助けていただければ幸いです

    @echo off
echo ************************
echo * SPARSE FILE CREATION *
echo ************************
set /p path=Enter the Path :
set /p fname=Enter the Filename :
set /p fsize=Enter the filesize (in Mb) :
set /a sizeinbytes=fsize*1024*1024
fsutil file createnew %path%\%fname% %sizeinbytes%
fsutil sparse setflag %path%\%fname% 
fsutil sparse setflag %path%\%fname% 0 %sizeinbytes%
pause
1
Aaron Rice

Fsutilを実行しようとしています

'fsutil'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません

path 環境変数をオーバーライドしているため、バッチファイルが壊れています。

set/p path =パスを入力してください:

この変数には別の名前を使用してください。この問題を回避するために、すべてのバッチ変数の前に_を付けるのが好きです。

修正されたバッチファイル:

@echo off
echo ************************
echo * SPARSE FILE CREATION *
echo ************************
set /p _path=Enter the Path :
set /p fname=Enter the Filename :
set /p fsize=Enter the filesize (in Mb) :
set /a sizeinbytes=fsize*1024*1024
fsutil file createnew %_path%\%fname% %sizeinbytes%
fsutil sparse setflag %_path%\%fname% 
fsutil sparse setflag %_path%\%fname% 0 %sizeinbytes%
pause

1
DavidPostill