ãããã®ã¾ã¨ãTOP㸠Windowsä¸ã®å¦çãèªååããããã°ã©ã ãï¼BATãã¡ã¤ã«ã§ããã ãã³ãã³ãããã³ãããä¸ã§ã®æä½æ¥ãçç¥ãï¼èªåå®è¡ã§ããã Windowsãåç¶ããéãï¼BATãã¡ã¤ã«ã¯ãªããªããªãã ããã ãããã»ããã°ã©ãã³ã°ã®éè¦ã¯ï¼ä½ããããã¨ãã®å çãã®ããã ãã®Windows 10ã®æ代ã§ãããã ã BATã¯ï¼MS-DOSã®æ代ããé·ã使ããã¦ããã ãã®ããï¼åã³ãã³ãã«é¢ããåå¥ã®ãã¦ãã¦ãæ å ±ã¯å¤ãã ã ãï¼å®ç¨çãªãã¦ãã¦ãä½ç³»çã«æ´çãããã®ã¯ï¼ãã¾ãè¦ãããªãã ããã§ä»¥ä¸ã§ã¯ï¼BATãã³ã¼ãã£ã³ã°ããéã®è¯è³ªãªãã¿ã¼ã³ãåæããã ï¼ï¼ï¼ BATããã°ã©ãã³ã°ã®ç¹å¾´ ï¼ï¼ï¼ BATãã¡ã¤ã«ã®éå ï¼ï¼âï¼ï¼ åé ã¨æ«å°¾ã®ãã³ãã¬ã¼ã ï¼ï¼âï¼ï¼ å復ãã¦å®è¡å¯è½ã« ï¼ï¼ï¼ ãããã®æ§é å ï¼ï¼âï¼ï¼ ã«ã¼ãã³ã®åå² ï¼ï¼âï¼ï¼ å®è¡ãã¡ã¤ã«ãå®
Windowsã®ããããã¡ã¤ã«ãä½æããéãããã©ã«ãã§ä½¿ããç°å¢å¤æ°ãã¾ã¨ãã¾ãã 調æ»ãã OS 㯠Windows 8ãWindows 7ãWindows VistaãWindows XPãWindows Server 2012 R2ãWindows Server 2008 R2 ã® 6ç¨®é¡ ã§ãã ã¦ã¼ã¶ã¼åã¯ãgarafuãã¨ããã³ã³ãã¥ã¼ã¿ã¼åã¯ãèªåã§å²ãä»ãããããã®ãã§ãã ãããããã¡ã¤ã³ã«ã¯åå ãã¦ãããããã¼ã«ã«ã¦ã¼ã¶ã¼ã§ãã°ã¤ã³ããset ã³ãã³ã ãå®è¡ããçµæã¨ãªãã¾ãã ç°å¢å¤æ° PATH ã«é¢ãã¦ã¯ãé·ããªãã®ã§çç¥ãã¾ããã
åãã³ã¼ããä½åº¦ãæ¸ããã¨ã»ã©ç¡é§ãªãã¨ã¯ãªãã â¦ã¨ãæã£ãã®ã§ããã使ããã®ãã¾ã¨ãã¦æ®ãã¦ããã¾ãã ï¼æ°ãåãããæ´æ°ãã¦ããããããã¾ããâ¦ï¼ èµ·åãããå ´æãã«ã¬ã³ããã£ã¬ã¯ããªã¨ã㦠cmd.exe ãå®è¡ãã @echo off cd /d "%~dp0" cmd.exe Java, Python, Ant ã®ç°å¢å¤æ°ã追å ãã rem Java set PATH=%PATH%;C:\Program Files (x86)\Java\jre7\bin set PATH=%PATH%;C:\Program Files\Java\jre7\bin rem Python set PATH=%PATH%;C:\Python27 rem Ant æ¥ä»ãæéãåå¾ãã @echo off rem æ¥ä»ãåå¾ set DATE_STR=%date:~-10,4%%date:~-5,2%%
I find %~dp0 very useful, and I use it a lot to make my batch files more portable. But the label itself seems very cryptic to me... What is the ~ doing? Does dp mean drive and path? Does the 0 refer to %0, the path to the batch file that includes the file name? Or it is just a weird label? I'd also like to know if it is a documented feature, or something prone to be deprecated.
Tweak UI ã«åããããªæ©è½ããããããªã®ã§ããSendToãã©ã«ãã«å ¥ãã¦ããã¨ã ãã©ã«ããé¸ãã§å³ã¯ãªãã¯âéãâCMD_here.bat ã§æå®ãããã©ã«ããã«ã¬ã³ããã£ã¬ã¯ããªã«ãã¦ã³ãã³ãããã³ãããéããããã§ãã ãã©ã«ãã®ä»£ããã« ãã¡ã¤ã«ãé¸ãã§âéãâCMD_here.bat ã¨ããå ´åã¯ããã®ãã¡ã¤ã«ã®åå¨ãããã©ã«ããã«ã¬ã³ããã£ã¬ã¯ããªã«ãã¦ã³ãã³ãããã³ãããéãã¾ãã æ®å¿µãªãããã©ã«ãã®ã·ã§ã¼ãã«ããã§ã¯ãã¾ãåãã¦ããã¾ããï¼ã·ã§ã¼ãã«ããã®ãããã©ã«ããéãï¼ã :--------------------------------------- CMD_here.bat @echo off for %%d in (%1) do set x=%%~ad if "%x:~0,1%"=="d" (pushd "%~dpn1") else (pushd "
åæ© æ®æ®µããLinux/Unixã®ã³ãã³ãã«æ £ãã¦ããè ã«ã¨ã£ã¦ãWindowsã®ã³ãã³ãããã³ããã使ãã«ãããã¨æ¥µã¾ããªãããã¤ãã¤ãã¤ã ls ã¨ãæã£ã¡ãããã§ãããã 大ä½å¯¾å¿ããã³ãã³ãããããããããã ãã©ããªããWindowsã«ã¯whichã³ãã³ãã«å¯¾å¿ãããã®ããªããã§ããããå®ç¾ããã¡ã¢ã æ¹æ³ ï¼ ITï¼Windows TIPS -- Hintï¼whichã³ãã³ããä½ã @echo off for %%I in (%1 %1.com %1.exe %1.bat %1.cmd %1.vbs %1.js %1.wsf) do if exist %%~$path:I echo %%~$path:Iãããwhich.batã¨ãã¦PATHãéã£ãã¨ããã«ä¿åãã¾ãä¸è¨ãªã³ã¯ã«ããããã«ã·ã¹ãã ãã©ã«ãã好ã¾ããã§ããããããã§ã³ãã³ãã®PATHã調ã¹ãããããã«ãªãã¾ãããã§ã
åæ© æ®æ®µããLinux/Unixã®ã³ãã³ãã«æ £ãã¦ããè ã«ã¨ã£ã¦ãWindowsã®ã³ãã³ãããã³ããã使ãã«ãããã¨æ¥µã¾ããªãããã¤ãã¤ãã¤ã ls ã¨ãæã£ã¡ãããã§ãããã 大ä½å¯¾å¿ããã³ãã³ãããããããããã ãã©ããªããWindowsã«ã¯whichã³ãã³ãã«å¯¾å¿ãããã®ããªããã§ããããå®ç¾ããã¡ã¢ã æ¹æ³ ï¼ ITï¼Windows TIPS -- Hintï¼whichã³ãã³ããä½ã @echo off for %%I in (%1 %1.com %1.exe %1.bat %1.cmd %1.vbs %1.js %1.wsf) do if exist %%~$path:I echo %%~$path:Iãããwhich.batã¨ãã¦PATHãéã£ãã¨ããã«ä¿åãã¾ãä¸è¨ãªã³ã¯ã«ããããã«ã·ã¹ãã ãã©ã«ãã好ã¾ããã§ããããããã§ã³ãã³ãã®PATHã調ã¹ãããããã«ãªãã¾ãããã§ã
yokota: MS Windows ã® cmd.exe ä¸ã§ Gauche ã®ã¹ã¯ãªãããããããã¡ã¤ã«ã®ããã«è¦ããããæ¹æ³ãè¦ã¤ãã¾ããã å ·ä½çã«ã¯ä»»æã®Gaucheã¹ã¯ãªããã®å é ã«ä»¥ä¸ãã ;@rem -*- mode: scheme -*- ;@echo off ;gosh "%~f0" %* ;goto :__gauche_script_end æå¾ã« ; ;:__gauche_script_end ; ãæ¿å ¥ãããã¡ã¤ã«ã®æ¡å¼µåã .cmd ã«ãã¾ãã ããã«ããWindowsä¸ã§ä»»æã®ã¹ã¯ãªããããã®ã¾ã¾å®è¡ãã¡ã¤ã«ã«ã§ãã¾ãã æ«å°¾é¨åã¯ã®3è¡ããããã次ã®è¡ã確å®ã«è¡é ã«ãããããããããã¡ã¤ã«ã®çµäºæã«gotoã§ç§»åããå ´æãããcmd.exeãã³ãã³ãçµäºæã«æ¿å ¥ããæ¹è¡ãæå¶ãã¨ããæå³ãããã¾ãããã®æ§è³ªä¸1è¡ç®ã¨3è¡ç®ã¯åãªã空è¡ã§ãæ§ãã¾ããããä½ãè¦ã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}